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 也能自動補充 .ssh/config 裡的設定,有點像 bookmark 所以滿好用的!
嗯嗯, 這個好像 Debian / Ubuntu 系統預設就會安裝了.
只是打 ssh [tab] 時, 會出現 ip6-allhosts, ip6-localhost, fe00::0, ff00::0, ::1 等等的東西, 可能是把 hosts 的資料也都一起拉進來了.