Bashオートコンプリートが特定のコマンドの動作を模倣するにはどうすればよいですか?

Bashオートコンプリートが特定のコマンドの動作を模倣するにはどうすればよいですか?

特定のLinuxコマンドを含むスクリプトを作成しています。コマンドラインから直接使用すると、コマンドにオートコンプリート動作が適用されます。たとえば、コマンド名、スペース、文字列を入力してタブを押すと、パス内の実行可能ファイル名が完成します。しかし、ラッパースクリプトはいいえこんな癖があるようです。 bashにラッパーに対して元のコマンドと同じオートコンプリートを使用させるにはどうすればよいですか?

より具体的に言えば、コマンドはですwhich。失敗しない場合は、それを呼び出すラッパーを作成しています。readlink -fwhichwhich

答え1

whichwithの完了仕様をリストできます。

complete -p which

明らかになるcomplete -c which。したがって、mywhichPATHに独自の新しいコマンド(実行可能)がある場合は、bashを設定して同じ方法で実行できます。

complete -c mywhich

この行を入れてください~/.bash_completion

関連情報