TABオートコンプリートは完了するオプションをどのように見つけますか?

TABオートコンプリートは完了するオプションをどのように見つけますか?

エイリアスはどのように自動補完されますか?

ベストアンサー1

コマンドによって異なります。

  • 誰かオプションを含む可能な引数補完を生成する関数を書くこともできます。/etc/bash_completion.d/*一部のコマンドの機能は、(または一部のシステムでは異なる場所で)見つけることができます。この機能は以下に登録されています。complete 組み込み(たとえば、コマンドを押すとcomplete -F _find findbashにこの関数を呼び出すように指示します。)彼らはそれを使う_findTabfindcompgen組み込み機能はbashに「ここにできるだけ完成しています」と伝えます。
  • 一部のコマンドでは、bashは引数を使用してコマンドを呼び出して--help出力を解析します。これらのコマンドは次に登録できます。completeたとえばcomplete -F _longopt ls_longopt実際には、固定リストを使用するのではなく、コマンドの出力を解析する完了生成関数です。 (可能な補完を生成するためにコマンドの出力を解析する、より特殊な他の完成関数があります。/etc/bash_completion.d/*例を参照してください。)
  • エイリアスのようなものの場合、補完機能はbashの内部テーブルでそれを見つけます。これcomplete-Aエイリアスなどの対応するオプションが組み込まれています。

おすすめ記事