LoginSignup
5
3

More than 3 years have passed since last update.

[個人メモ]いまさらbashの自動補完

Posted at

概要

Linuxのコマンドが長くなると入力するのがめんどくさくなり、効率が悪い
なので、いまさらだがコマンドの自動補完の設定手順を残す

導入方法

  1. bash-completionをインストール

    > yum install -y bash-completion
    
  2. ロード&確認

    > source /usr/share/bash-completion/bash_completion
    
    # エラーがなければOK
    > type _init_completion
    
  3. 例として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/配下に様々な入力補完用のスクリプトが導入されるので、必要に合わせてロードしてください。

  4. /usr/share/bash-completion/completions/にない場合は?
    モノによってはコマンドにビルドインしているものもあります。例えば、kubectlの場合はkubectl completion bashで補完機能を提供しています。またdocker-composeの場合は、こちらの手順に従って自動補完スクリプトを導入し、同じようにロードすればOK。なので補完したいものを探してロードしてあげてください。

  5. 自動ロード登録

    > 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をインストール」を実行
```

5
3
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
5
3