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 demcomplete
registriert eingebaut (z. B.complete -F _find find
weist bash an,_find
aufzurufen Funktion, wenn Sie Tab drücken auf einemfind
Befehl). Sie verwenden dascompgen
eingebaut, um bash mitzuteilen „hier sind die möglichen Vervollständigungen“. - Bei einigen Befehlen ruft Bash den Befehl mit dem Argument
--help
auf und analysieren Sie die Ausgabe. Solche Befehle können mit demcomplete
registriert werden eingebaut, z.B.complete -F _longopt ls
._longopt
ist 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
complete
eingebaut hat Optionen dafür, z.B.-A
für Aliase.