最近,我将两个服务器的域从mdorst.net
更改为mars.mdorst.net
。现在,当我转到ssh时,其中一个会按预期自动完成,而另一个则不会。
$ ssh michael@o<Tab>
自动完成
$ ssh [email protected]
这就是我想要的。但是,当我键入
$ ssh michael@c<Tab>
它会自动完成
$ ssh [email protected]
并将光标放在m后面。
我最好的猜测是它知道我已经输入了以下两个
$ ssh [email protected]
$ ssh [email protected]
以前,想知道是哪一个。极其聪明!除了我不希望出现这种情况外,我重新浏览.zsh_history
并删除了所有出现的curiosity.mdorst.net
,问题仍然存在!
这对我来说非常令人困惑,因为我之前也做过opportunity.mdorst.net
,但这在我键入时不会发生o<Tab>
,只有在键入时才会发生c<Tab>
。
如何使其自动完成到正确的域?
zsh
正在ssh
从文件中收集有关用户名和访问的主机的信息以完成操作
如果未设置hosts
和known-hosts-files
样式。(资料来源:zshcompsys
手册)
因此,您应该首先检查~/.ssh/known_hosts
文件,然后删除您不想完成的远程计算机所在的行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句