
Bashの場合、完成機能をスクリプトに含める簡単な方法はありますか?
再配布したいスクリプトがありますが、人々が自分/etc/bash_completion.d
のスクリプトを完成させるために何かを追加するように要求することはできません。
答え1
ホームディレクトリにはbashを完了するための標準的な場所はありません。完成コードを自分のコードにコピーするように人々に指示し.bashrc
たり、完成した定義スクリプトをどこか(自分のコードではない$PATH
)に保存してそのコードからインポートするように指示できます.bashrc
。アップグレードが簡単なので、後者をお勧めします。
. ~/.bash_completions/jmc_app
慣例的に、補完は、完了するプログラムと同じ名前のスクリプトで定義する必要があり、アンダースコアが前にある同じ名前の関数定義を含め、完成をインストールするための呼び出しを含める必要がありますcomplete
。
# jmc_app completion
_jmc_app () {
…
}
complete -F _jmc_app jmc_app