コマンドライン補間
リポジトリ:
scop/bash-completion: Programmable completion functions for bash – GitHub
使い方
Homebrew で bash-completion@2
をインストールする。(v2 を使うには、Bash 4 以降が必要となる。Bash 3 以前を使用している場合は、v1 をインストールする。)
$ brew install bash-completion@2
.profile_bash
で bash_completion.sh
を読み込む。
export BASH_COMPLETION_COMPAT_DIR="$(brew --prefix)/etc/bash_completion.d"
if [ -r "$(brew --prefix)/etc/profile.d/bash_completion.sh" ]; then
source "$(brew --prefix)/etc/profile.d/bash_completion.sh"
fi
Code language: Bash (bash)
BASH_COMPLETION_COMPAT_DIR
を定義することで $(brew --prefix)/etc/bash_completion.d
以下にある v1 互換の補完スクリプトが自動的に読み込まれる。v2 では補完スクリプトは $(pkg-config --variable=completionsdir bash-completion)
に配置する。
参考:
Mac に bash-completion をインストールし補完を活用する | mawatari.jp
bash-completion で service コマンドなどの補完を強化しよう | インフラエンジニア way
bash-completion で複雑な補完をする | いますぐ実践! Linux システム管理
bash-completion – Mac のターミナルで Tab 補完を有効にする | Neo’s World
macOS で bash-completion を有効にする/ついでに git-completion も – Qiita
bash-completion で ssh コマンドなどの補完を強化してみる – Qiita
bash-completion で bash の補完機能を強力にする | 理想未来はどうなった?
bash-completion – ssh でリモートホスト名を補完できる | UNIX 的なアレ
もうこれなくしては、bash は使えないカラダになってしまった bash-completion がバージョンアップ | みちしるべ
bash-completion | dragon3 のブログ
complete コマンド (Bash ビルトイン)
complete
コマンドCOMPREPLY
compgen
コマンドCOMP_WORDS
COMP_CWORD
現在の設定を確認する。
$ complete -p
指定したコマンドの設定を確認する。
$ complete -p rbenv
参考:
complete コマンド – 補完機能の設定を行う | Linuxコマンド.NET
autocomplete filenames using compgen – Unix & Linux Stack Exchange
compgen
参考:
現在の環境で利用可能なコマンド一覧を compgen で表示 | もた日記
compgen コマンド – 補完の候補を表示する | Linuxコマンド.NET
compgen – An Awesome Command To List All Linux Commands | nixCraft
compgen result contains terminal color codes – Unix & Linux Stack Exchange
compopt
参考:
compopt コマンド – complete で設定した補完のオプションを確認/変更する | Linuxコマンド.NET
独自の補完を作成する
参考:
Bash なんて書いたことない人が補完関数をとりあえず自作する – Qiita
bash-completion を自分で作る/独自補完を作ってみた | それマグで!
Bash タブ補完自作入門 | Cybozu Inside Out
bash-completion で自作コマンドのタブ補完に挑戦 | nujawak.online
Bash の補完機能を活用する | いますぐ実践! Linux システム管理
bash-completion で独自コマンドの引数を補完する | Narrow Escape
Bash で入力補完を設定する方法 | 試験管のなかのコード
Writing Your Own Bash Completion Function | fahd.blog
ページャー
参考:
Re: [Help-bash] set other pager for TAB completion possibilities | Mail Archives
can we use something better than more for tab completion? – Unix & Linux Stack Exchange