
Gibt es eine einfache Möglichkeit, eine Liste aller möglichen Vervollständigungen eines Befehls in Bash auszudrucken (z. B. in die Standardausgabe) (die, die ich erhalten würde, wenn ich den Befehl eingebe und dann die Tabulatortaste drücke)?
Bearbeiten: Ich glaube, das war nicht ganz klar, nachdem ich es noch einmal gelesen habe. Ich weiß, wie man Vervollständigungen manuell erhält. Ich möchte es programmgesteuert machen.
Antwort1
Bash hat keine Funktion, die genau das tut. Die programmierbaren Vervollständigungen hängen stark von verschiedenen Parametern ab, wie beispielsweise der Cursorposition ...
eval $(complete -p 'git' | sed s/^complete/compgen/)
scheintzu arbeiten, ist aber sehr zerbrechlich.
Antwort2
Drücken Sie TABzweimal. Die meisten BASH-ähnlichen Shells listen alle passenden Autovervollständigungsoptionen für eine bestimmte Teilzeichenfolge auf.
z.B
root@host$apt-get up
Durch zweimaliges Drücken TABdieses Befehls werden beide aufgelistet Update
undUpgrade
Antwort3
Stellen Sie sicher, dass Sie das bash-completion
Paket installiert haben. Abhängig von Ihrem Installationstyp ist es möglicherweise standardmäßig enthalten oder nicht. Wenn nicht, holen Sie es sich einfach mit yum
oder apt
. Nach der Installation müssen Sie sich abmelden und erneut anmelden oder Ihre Ressourcen neu zuweisen, .bashrc
um es verwenden zu können.
@Amazed hat hinsichtlich der Verwendung genau recht.
Antwort4
Ich glaube, Sie fragen im Grunde nach einer Liste aller Befehle, die mit einer bestimmten Zeichenfolge beginnen. Dies sollten Sie erreichen, indem Sie eine Liste aller ausführbaren Dateien auf Ihrem System abrufen und diese über grep ausführen.