Bash ssh 由歷史資料來自動補齊主機名稱

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

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

Bash shell - ssh 命令自動補齊

設定步驟如下述:

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

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

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

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

在〈Bash ssh 由歷史資料來自動補齊主機名稱〉中有 3 則留言

    1. 嗯嗯, 這個好像 Debian / Ubuntu 系統預設就會安裝了.

      只是打 ssh [tab] 時, 會出現 ip6-allhosts, ip6-localhost, fe00::0, ff00::0, ::1 等等的東西, 可能是把 hosts 的資料也都一起拉進來了.

thomas 發表迴響取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料