Passen Sie die tabulatorvervollständigung in der shell

Diese vielleicht einen besseren Namen als "custom tab completion", aber hier ist das Szenario:

In der Regel, wenn ich in die Kommandozeile und ich einen Befehl eingeben, gefolgt mit {TAB} zweimal, bekomme ich 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

Merkte ich allerdings, daß mindestens ein Programm irgendwie filtern Sie diese Liste: wine. Bedenken Sie:

[user@host tmp]$ wine <TAB><TAB>
chromatron2.exe  foo.exe

Es effektiv filtern die Ergebnisse zu *.exe.

Denken, es könnte eine Art von wrapper-Skript verantwortlich für die Filterung, eine Tat, ein which und file eine es stellt sich heraus wine ist nicht ein Skript, sondern eine ausführbare Datei.

Nun, ich weiß nicht, ob dieser "filter" ist irgendwie codiert in das Programm selbst, oder anders angegeben, die während des Standard-Wein-Installation, so dass ich nicht sicher bin, ob diese Frage eher angebracht ist stackoverflow oder superuser, also ich bin Kreuze meine Finger und werfen Sie es hier. Ich entschuldige mich, wenn ich falsch geraten. (Auch ich habe ein paar ähnliche Fragen, aber die meisten waren unwichtig oder beteiligt Bearbeiten der shell-Konfiguration.)

Also meine Frage ist, wie wird diese "Filterung" durchgeführt? Vielen Dank im Voraus.

  • Registerkarte Fertigstellung die shell, die bestimmten, welche shell benutzt du (echo $SHELL)
  • Sorry, ich bin mit der bash. Edit: 4.2.24
InformationsquelleAutor jedwards | 2012-06-08
Schreibe einen Kommentar