Wie kann ich Bash-Vervollständigungen erhalten?

Wie kann ich Bash-Vervollständigungen erhalten?

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 UpdateundUpgrade

Antwort3

Stellen Sie sicher, dass Sie das bash-completionPaket installiert haben. Abhängig von Ihrem Installationstyp ist es möglicherweise standardmäßig enthalten oder nicht. Wenn nicht, holen Sie es sich einfach mit yumoder apt. Nach der Installation müssen Sie sich abmelden und erneut anmelden oder Ihre Ressourcen neu zuweisen, .bashrcum 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.

verwandte Informationen