我找到了以下脚本(用于 bash),它使我能够为我连接到的任何主机名(来自~/.ssh/known_hosts
)获取制表符补全:
complete -W "$(echo `cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e s/,.*//g | uniq | grep -v "\["`;)" ssh
Run Code Online (Sandbox Code Playgroud)
但是,问题是在我输入用户名后选项卡完成不起作用。
我该如何改进,所以如果我输入...
ssh myusername@my
Run Code Online (Sandbox Code Playgroud)
并期望它完成“myhostname.com”它就能做到吗?
如果它也可以选择整个字符串(user@hostname)会更好,但我可以接受任何一个选项。没有第一个,除非我的主机用户名与本地用户名匹配,否则这没什么用。