UbuntuのBashは、ツール固有のアクションリストをどのようにして知っていますか?
たとえば、apt-getとタブを2回入力すると、削除、更新、アップグレードなどが表示されますが、別のコマンドのアクションや現在のディレクトリ内のファイルは表示されません。
Goでコマンドラインツールを開発しています。この機能をサポートするディストリビューションにこの機能を提供したいと考えています。
これは、bash v4の補完機能を使用して行われます。 apt-get
の完了コードはbash-completion
パッケージによって提供され、/usr/share/bash-completion/completions/apt-get
にあります。補完があり、基本bash-completion
パッケージに含まれていないアプリケーションは、補完スクリプトを/etc/bash_completion.d
に配置します。
補完はソーシング/etc/bash_completion
を介して読み込まれます。これが行われる正確な場所は、DebianまたはUbuntuのバージョンによって異なります。これにより、/usr/share/bash-completion/completions
および/etc/bash_completion.d
のすべてがソースになります。