Bash-completionをインストール
コマンド利用するのに補完機能は欠かせない
ls
とかcd
でタブキーをトントンッと2回叩くとカレントディレクトリ以下のディレクトリやファイル名がリストされますよね。これが補完です。
bashの補完機能はcomplete組み込みコマンドで実現
bashの補完機能は組み込みコマンドのcomplete
コマンドで実現しています。complete
コマンドはオプションが豊富なので基本的なオプションの使い方のみご紹介します。
- 全設定の表示
1 2 3 4 5 6 7 8 9 10 11 |
|
- lsコマンドの設定のみ表示
1 2 |
|
man complete
を見ると情報量が多いので詳細はまた今度確認することにしますが、上記lsコマンドの補完設定の概要は、-o default
でオプションを指定し、-F _longopt
で実行するシェル関数を指定しているようです。_longopt
関数に関して興味があればtype -a _longopt
を実行してみましょう。
bash-completionをインストールする
bash補完を更に便利にするためにbash-completionをインストールします。
See: https://github.com/GArik/bash-completion
See: https://alioth.debian.org/projects/bash-completion/
RHEL系
1
|
|
MacOSX
- Macのbrewで入れたパッケージのインストールプレフィックスは
/usr/local
- デフォルトでは
/usr/local/etc/bash_completion
設定ファイルが読み込まれないので~/.bash_profile
へ追記
1 2 3 4 5 6 7 8 9 10 |
|
bash-completionだけでは補完されないコマンドの補完
bash-completionでは補完機能を拡張することができます。Macでは/usr/local/etc/bash_completion.d
に、RHEL系では/etc/bash_completion.d
に拡張ファイルを置き、ログインし直すか~/.bash_profile
を再読み込みすることで有効になります。
gitコマンド補完
1 2 |
|
vagrantコマンド補完
1 2 |
|
これは本当に便利!!