概要
Linuxのコマンドが長くなると入力するのがめんどくさくなり、効率が悪い
なので、いまさらだがコマンドの自動補完の設定手順を残す
導入方法
-
bash-completionをインストール
> yum install -y bash-completion
-
ロード&確認
> source /usr/share/bash-completion/bash_completion # エラーがなければOK > type _init_completion
-
例としてyumコマンドの入力補完設定
> source /usr/share/bash-completion/completions/yum # yum入力後にtabキーで以下の様に入力補完が表示されればOK > yum check deplist groups info load-transaction reinstall search upgrade check-update distro-sync help install makecache remove shell version clean downgrade history list provides repolist update
※
/usr/share/bash-completion/completions/
配下に様々な入力補完用のスクリプトが導入されるので、必要に合わせてロードしてください。 -
/usr/share/bash-completion/completions/
にない場合は?
モノによってはコマンドにビルドインしているものもあります。例えば、kubectlの場合はkubectl completion bash
で補完機能を提供しています。またdocker-composeの場合は、こちらの手順に従って自動補完スクリプトを導入し、同じようにロードすればOK。なので補完したいものを探してロードしてあげてください。 -
自動ロード登録
> echo 'source /usr/share/bash-completion/bash_completion' >> ~/.bashrc > echo 'source /usr/share/bash-completion/yum' >> ~/.bashrc
_get_comp_words_by_ref command not foundが表示されたら
以下の2つを試す
bash_completionがロードされていない
上記の「2. ロード&確認」を実行
bash_completionがインストールされていない
パッケージマネージャーからbash-completionをインストール
上記の「1. bash-completionをインストール」を実行