UbuntuのBashは、ツールの特定のタスクのリストをどのように知ることができますか?
たとえば、私が入力した場合適切タブをダブルクリックすると、削除、更新、アップグレードなどが表示され、現在のディレクトリ内のファイルに対する他のコマンドや操作は表示されません。
私はGoでコマンドラインツールを開発しており、それをサポートするディストリビューションにこの機能を提供したいと思います。
答え1
これを行うには、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
。