Und wie werden auch Aliase automatisch vervollständigt?
Akzeptierte Antwort:
Je nach Befehl:
- Jemand hat vielleicht eine Funktion geschrieben, um mögliche Vervollständigungen von Argumenten, einschließlich Optionen, zu generieren. Sie finden Funktionen für einige Befehle in
/etc/bash_completion.d/*(oder auf einigen Systemen an einem anderen Ort). Diese Funktionen werden mit demcompleteregistriert eingebaut (z. B.complete -F _find findweist bash an,_findaufzurufen Funktion, wenn Sie Tab drücken auf einemfindBefehl). Sie verwenden dascompgeneingebaut, um bash mitzuteilen „hier sind die möglichen Vervollständigungen“. - Bei einigen Befehlen ruft Bash den Befehl mit dem Argument
--helpauf und analysieren Sie die Ausgabe. Solche Befehle können mit demcompleteregistriert werden eingebaut, z.B.complete -F _longopt ls._longoptist in der Tat eine Vervollständigungsgenerierungsfunktion, die zufällig die Ausgabe eines Befehls analysiert, anstatt eine feste Liste zu verwenden. (Es gibt andere spezialisiertere Vervollständigungsfunktionen, die die Ausgabe eines Befehls parsen, um mögliche Vervollständigungen zu generieren; schauen Sie in/etc/bash_completion.d/*nach für Beispiele.) - Für Dinge wie Aliase sucht die Vervollständigungsfunktion sie in den internen Tabellen von bash. Die
completeeingebaut hat Optionen dafür, z.B.-Afür Aliase.