読者です 読者をやめる 読者になる 読者になる

らくがきちょう

なんとなく

macOS の bash-completion で ssh 接続先を補完する

macOS

macOS でも bash-completion を入れると bash の補完が出来るようになります。特に定義ファイルを追加しなくても、ssh の接続先を補完してくれるので、これだけでも便利です (定義ファイルを追加してカスタマイズしていくと更に便利です!)。


Homebrew はインストール済みだとします。bash-completion がインストールされていないと以下のように「Not installed」と表示されます。

$ brew info bash-completion
bash-completion: stable 1.3 (bottled)
Programmable completion for Bash 3.2
https://bash-completion.alioth.debian.org/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/bash-completion.rb
==> Caveats
Add the following lines to your ~/.bash_profile:
  if [ -f $(brew --prefix)/etc/bash_completion ]; then
    . $(brew --prefix)/etc/bash_completion
  fi

Homebrew で bash-completion をインストールします。

brew install bash-completion

~/.bash_profile に以下を追加します。

if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion
fi

source ~/.bash_profile するか、ターミナルを開き直して設定変更を反映します。あとは ssh に続いて Tab キーを 2 回押すと、接続先候補が一覧表示されるか、または補完されます。

$ ssh [Tab x 2]