また、エイリアスをオートコンプリートする方法もありますか?
承認された回答:
コマンドに応じて:
- 誰かが、オプションを含め、引数の可能な補完を生成する関数を作成した可能性があります。一部のコマンドの関数は、
/etc/bash_completion.d/*
にあります。 (または一部のシステムでは別の場所)。これらの関数はcomplete
に登録されています 組み込み(例:complete -F _find find
_find
を呼び出すようにbashに指示します Tabを押すと機能しますfind
で 指図)。compgen
を使用します bashに「可能な補完はここにあります」と伝えるための組み込み。 - 一部のコマンドでは、bashは引数
--help
を使用してコマンドを呼び出します。 出力を解析します。このようなコマンドは、complete
に登録できます。 ビルトイン、例:complete -F _longopt ls
。_longopt
実際には、完了生成関数であり、固定リストを使用するのではなく、コマンドの出力を解析します。 (コマンドの出力を解析して可能な補完を生成する、より特殊な補完関数が他にもあります。/etc/bash_completion.d/*
を参照してください。 たとえば。) - エイリアスなどの場合、補完関数はそれらをbashの内部テーブルで検索します。
complete
ビルトインにはそのためのオプションがあります。-A
エイリアスの場合。