Bash
用於通過 SSH 連接到不同主機的 Bash 自動完成功能
我有一大堆伺服器,我通常
ssh
一直都在。有什麼方法可以使用bash
orzsh
這樣我就可以保留主機名列表,並且 bash 自動完成會遍歷文件,並在我輸入主機名的前幾個字母時為我提供以這些字母開頭的框的建議。
Zsh
完成適用於所謂的 ssh 書籤。這些是~/.ssh/config
.例如,
host baz hostname 192.168.1.2 port 22 user warrick host bar hostname example.com port 2200 user kevin identityfile /home/warrick/.ssh/ec2.pem
man ssh_config
查看完整的選項列表。編輯
我正在使用ohmyzsh的完成腳本:
https://raw.github.com/robbyrussell/oh-my-zsh/master/lib/completion.zsh
以與 類似的方式
ohmyzsh
,我將上面的腳本放入~/.zsh/libs/completion.zsh
並將其添加到~/.zshrc
.# ~/.zshrc for f in ~/.zsh/libs/*; do source $f done
bash 補全包包括
ssh
命令補全,包括:
ssh
ssh-add
ssh-copy-id
sshfs
你可以在這裡瀏覽原始碼:https ://alioth.debian.org/scm/browser.php?group_id=100114