LoginSignup
3
4

More than 5 years have passed since last update.

bash-completion install memo

Posted at

macbook Air(OS-X 10.8.2)を利用している筆者の環境で、インストールした際のメモです。

モジュールゲット
curl -o bash-completion-2.0.tar.bz2 http://bash-completion.alioth.debian.org/files/bash-completion-2.0.tar.bz2

解凍&展開
tar xvfj bash-completion-2.0.tar.bz2

./configure
make
make check
sudo make install

~/.bashrc insert follow lines

Use bash-completion, if available

[[ $PS1 && -f /usr/share/bash-completion/bash_completion ]] && ¥
. /usr/share/bash-completion/bash_completion

bash_completionはdeclareやcompleteコマンドを利用して実現している。
しかし、bashの4系列でサポートされ始めたオプション(連想配列:
declare -Aや、補完文字のdefaultを設定するcomplete -D)を利用しているため、bash3系列では実行できない

もちろん、シェルを修正することで実行できるようにすることは可能と思ったが、それってbash-completionの1.3と同じになるんじゃねって疑問が拭えずに、1.3を利用することにしたw
モジュールは、上記URLを2.0を1.3に変更するだけ。

インストール手順も基本は同じ、ただ、install先のdefault等が異なっている。
シンボリックリンクもうまくはれていないので、install後に手動でシンボリックリンクを張ってあげる

./configure
make
make check
sudo make install
sudo -s /usr/local/etc/bash_completion /etc/bash_completion
sudo -s /usr/local/etc/bash_completion.d /etc/bash_completion.d

以下、~/.bashrcに追加
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4