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

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix 並標籤為 , 。將永久鏈結加入書籤。

Bash ssh 由歷史資料來自動補齊主機名稱 有 3 則回應

  1. thomas 說道:

    套件 bash-completion 也能自動補充 .ssh/config 裡的設定,有點像 bookmark 所以滿好用的!

    • Tsung 說道:

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

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

發表迴響