特定のLinuxコマンドを含むスクリプトを作成しています。コマンドラインから直接使用すると、コマンドにオートコンプリート動作が適用されます。たとえば、コマンド名、スペース、文字列を入力してタブを押すと、パス内の実行可能ファイル名が完成します。しかし、ラッパースクリプトはいいえこんな癖があるようです。 bashにラッパーに対して元のコマンドと同じオートコンプリートを使用させるにはどうすればよいですか?
より具体的に言えば、コマンドはですwhich
。失敗しない場合は、それを呼び出すラッパーを作成しています。readlink -f
。which
which
答え1
which
withの完了仕様をリストできます。
complete -p which
明らかになるcomplete -c which
。したがって、mywhich
PATHに独自の新しいコマンド(実行可能)がある場合は、bashを設定して同じ方法で実行できます。
complete -c mywhich
この行を入れてください~/.bash_completion