これは「カスタムタブ補完」よりも適切な名前である可能性がありますが、シナリオは次のとおりです。
通常、コマンドラインでコマンドを入力し、続いて{TAB}を2回入力すると、現在のディレクトリ内のすべてのファイルとサブディレクトリのリストが表示されます。例えば:
[user@host tmp]$ cat <TAB><TAB>
chromatron2.exe Fedora-16-i686-Live-Desktop.iso isolate.py
favicon.ico foo.exe James_Gosling_Interview.mp3
しかし、少なくとも1つのプログラムがどういうわけかこのリストをフィルタリングしていることに気づきましたwine
。検討:
[user@host tmp]$ wine <TAB><TAB>
chromatron2.exe foo.exe
結果をに効果的にフィルタリングします*.exe
。
フィルタリングを担当するある種のラッパースクリプトである可能性があると考えるとwhich
、実行可能ファイルではなく実行可能ファイルであるfile
ことがわかります。wine
さて、この「フィルター」がプログラム自体に何らかの形でエンコードされているのか、それともデフォルトのワインのインストール中に指定されているのかわからないので、この質問がスタックオーバーフローまたはスーパーユーザーに適しているかどうかはわかりません。指を交差させてここに投げます。推測を間違えた場合はお詫び申し上げます。(また、いくつかの同様の質問を確認しましたが、ほとんどは無関係であるか、シェル構成の編集に関係していました。)
だから私の質問は、この「フィルタリング」はどのように達成されるのかということです。前もって感謝します。