ssh + Tab 自动补全主机名 别名

时间:2021-03-09 13:58:08

此方法配合ssh 别名登录可以快速登录服务器

要使用在./ssh/config中配置的ssh别名,只需要將此行加入 .bashrc 最後一行即可.

complete -W "$(echo $(grep '^Host ' .ssh/config | sort -u | sed 's/^ssh //'))" ssh

complete -W "$(echo $(grep '^Host ' .ssh/config | sort -u | sed 's/^scp //'))" scp


以下原文出自:ssh + Tab 自动补全主机名
1 Reply
转载自:Bash ssh 由歷史資料來自動補齊主機名稱

Bash shell 打 ssh [Tab] * 2, 會列出不少網址, 通常都是 hosts 檔案內 設定的網址, 會秀出蠻多不相關的東西.

此自動補齊的功能, 主要是撈 .bash_history (歷史資料) 來做補齊, 就是 ssh [Tab] * 2, 只會出現之前有連線過的網址, 應該會方便不少.

Bash shell – ssh 命令自動補齊

設定步驟如下述:

將此行加入 .bashrc 最後一行即可.

complete -W "$(echo $(grep '^ssh ' .bash_history | sort -u | sed 's/^ssh //'))" ssh

註: 上述取自此篇: bash autocomplete for SSH
登出再次登入即可. (或者直接 source .bashrc 亦可).
註: 上述寫法同理, 可以考慮將 .ssh/config 也加入此設定.

备注:若安装了bash-completion,其实也是可以自动补全的。