我已经安装了“bash-completion”包。
ssh
命令行上的完成(in bash
)正在工作:ssh TAB-TAB
将完成过去使用的主机ssh -TAB-TAB
并将完成可用ssh
选项。
但是,当我搜索当前定义的完成时:
$ complete | grep ssh
complete -F _known_hosts ssh-installkeys
complete -F _service /etc/init.d/ssh
...我发现没有完成注册ssh
?!
complete -p ssh
bash: complete: ssh: no completion specification
当我检查ssh
下面的完成脚本时,/usr/share/bash-completion/completions/ssh
我发现它确实注册了ssh
完成:
$ grep complete /usr/share/bash-completion/completions/ssh | grep ssh | grep -v '^#'
shopt -u hostcomplete && complete -F _ssh ssh slogin autossh sidedoor
那么为什么 ssh 完成不显示complete | grep ssh
呢?bash如何完成ssh
选项?