Passen Sie die Tab-Vervollständigung in der Shell an
Dies kann einen besseren Namen haben als "Benutzerdefinierte Tab-Vervollständigung", aber hier ist das Szenario:
Wenn ich mich in der Befehlszeile befinde und einen Befehl eingebe, gefolgt von zweimal {TAB}, erhalte ich normalerweise eine Liste aller Dateien und Unterverzeichnisse im aktuellen Verzeichnis. Zum Beispiel:
[user@host tmp]$ cat <TAB><TAB>
chromatron2.exe Fedora-16-i686-Live-Desktop.iso isolate.py
favicon.ico foo.exe James_Gosling_Interview.mp3
Allerdings ist mir aufgefallen, dass mindestens ein Programm diese Liste irgendwie filtert:wine
. Erwägen:
[user@host tmp]$ wine <TAB><TAB>
chromatron2.exe foo.exe
Es filtert die Ergebnisse effektiv nach*.exe
.
Ich denke, es könnte eine Art Wrapper-Skript sein, das für die Filterung verantwortlich istwhich
undfile
und es stellt sich herauswine
ist kein Skript, sondern eine ausführbare Datei.
Nun, ich weiß nicht, ob dieser "Filter" irgendwie im Programm selbst kodiert ist oder auf andere Weise während der Standardweininstallation festgelegt wurde, daher bin ich mir nicht sicher, ob diese Frage besser für Stackoverflow oder Superuser geeignet ist Ich drücke die Daumen und werfe es hierher. Ich entschuldige mich, wenn ich falsch geraten habe. (Ich habe auch einige ähnliche Fragen geprüft, aber die meisten waren irrelevant oder erforderten die Bearbeitung der Shell-Konfiguration.)
Meine Frage ist also, wie wird diese "Filterung" durchgeführt? Danke im Voraus.