Während der Ausführung des complete
Befehls auf meinem Gnome-Terminal werden einige Befehle angezeigt. Was sind sie? Und was nützt der complete
Befehl?
$ complete
complete -F _minimal
complete -F _filedir_xspec oodraw
complete -F _filedir_xspec elinks
complete -F _filedir_xspec freeamp
complete -F _longopt split
complete -F _longopt sed
complete -F _longopt ld
complete -F _longopt grep
complete -F _service /etc/init.d/vboxweb-service
complete -F _service /etc/init.d/vboxballoonctrl-service
complete -F _service /etc/init.d/rc
complete -F _service /etc/init.d/nmbd
complete -F _service /etc/init.d/halt
complete -j -P '"%' -S '"' jobs
complete -d pushd
Liste geht lang, also gab ich einige von ihnen bekannt.
command-line
bash
Avinash Raj
quelle
quelle
help complete
Antworten:
complete
ist eine eingebaute Bash-Funktion. Es gibt also keine Binärdatei auf dem System. Hier wird festgelegt, wie Befehle beim Drücken von ausgeführt werden tab.Beispiel: Wenn Sie Folgendes eingeben:
... erscheint eine Liste mit allen möglichen Werten für diesen Befehl. In diesem Fall sind alle laufenden Prozesse gemeint. Siehe die Ausgabe der
complete
Funktion:Dies bedeutet, dass die Funktion
_pgrep
(-F) beim Aufrufen des Befehls ausgeführt wirdpidof
. Die Definition dieser Funktion ist in/etc/bash_completion.d/procps
.Ein weiteres Beispiel: Wenn Sie Folgendes eingeben:
... sehen Sie die Liste der Ordner
cd
, unter denen Sie sich befinden können/usr/
. Welche Funktion wird ausgeführt? Greping diecomplete
Funktion (wie oben) sagt uns, es ist die Funktion_cd
in/etc/bash_completion
.Mach es selbst : Du hast ein Programm / Skript aufgerufen
/bin/myprog
und das willst du, wenn du es wie folgt ausführst... sollte nur Ordner auflisten, keine Dateien. So verlängern Sie Ihre Bash-Vervollständigung mit dem folgenden Befehl:
Das ist es. Sie können auch eigene Funktionen schreiben, um benutzerdefinierte Dinge zu vervollständigen, z. B. nur bestimmte Dateien oder Nummern oder Listen mit statischen Werten ...
quelle
complete
ist ein Bash-Befehl, mit dem die automatische Vervollständigung ausgeführt wird, wenn der Benutzer die TABTaste in einem Terminal drückt.Beim Aufruf von just
complete
werden alle Funktionen aufgelistet, die für die automatische Vervollständigung von Befehlen oder Dienstoptionen registriert sind.Aus den Bash-Manpages:
Überprüfen Sie
/usr/share/bash-completion/bash_completion
, ob die mit bash gelieferten Standardabschlüsse vorhanden sind.Besuchen Sie http://www.linuxjournal.com/content/more-using-bash-complete-command, um eine vollständige Anleitung zu diesem Befehl zu erhalten.
quelle