Mac OS Xのbashでsshのホスト名を補完する

sshのホスト名補完。zshだとできるみたいなんですが、bashではできません。
ので、以下、導入。

sudo port install bash-completion

したのち、

vi ~/.bash_profile

で、

#bash-completion
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
  source /opt/local/etc/profile.d/bash_completion.sh
fi

Terminal.appの「環境設定」「一般」で「開くシェル」を

/opt/local/bin/bash -l

に設定。

おなじく「環境設定」「プロファイル」「シェル」「ウィンドウを閉じる前の確認」で「+」をして、

bash

を追加してterminalを再起動。

ssh ユーザ名@<tab>
ssh ユーザ名@数文字<tab>

で、ホスト名が補完されるようになります。

gitコマンドを補完

https://github.com/git/git/blob/master/contrib/completion/git-completion.bash

で定義を入手します。以下は僕の設定例。ダウンロードしたファイルをちょいとリネームして、ホームディレクトリに置き、.bash_profileでsourceで読み込んでいます。

source ~/.git-completion.bash

でも、gitのコマンドは定番のものは短くしちゃってるので、あんまり使わないんですよね。

ジャンル: Mac