ダブルタブしたときに何を表示するかをbashに正確に知らせる方法はありますか?たとえば、Pythonスクリプトscpyがあります これにはいくつかの引数が必要です。たとえば、apt-getのように 、ダブルタブを使用すると
autoclean build-dep clean dselect-upgrade purge source upgrade autoremove check dist-upgrade install remove update
あなた自身のスクリプト/プログラムのためにそれをする方法はありますか? Pythonスクリプトをbashスクリプトでラップする必要がありますか?
承認された回答:
これを行う最も簡単な方法は、/etc/bash_completion.d/にシェルスクリプトを含めることです。 。このファイルの基本構造は、completeの完了と呼び出しを実行する単純な関数です。 これはbashビルトインです。 completeの使用方法について詳しく説明するのではなく 、BashCompletionの概要を読むことをお勧めします。パート1では基本を説明し、パート2では完了スクリプトの作成方法について説明します。
bashの完了についてのより詳細な説明は、man bashの「ProgrammableCompletion」セクションにあります。 (「/ ProgrammableCompletion」と入力してから「n」を数回押すと、すぐにアクセスできます。運が良ければ、「g 2140RETURN」と入力してください)。