Gibt es eine Möglichkeit, dass bash genau weiß, was angezeigt werden soll, wenn Sie doppelt tabulatoren? Zum Beispiel habe ich ein Python-Skript scpy
was ein paar Argumente erfordert. Zum Beispiel wie apt-get
, wenn du doppelt tab drückst gibt es dir
autoclean build-dep clean dselect-upgrade purge source upgrade autoremove check dist-upgrade install remove update
Gibt es eine Möglichkeit, dies für Ihre eigenen Skripte/Programme zu tun? Muss ich mein Python-Skript in ein Bash-Skript einschließen?
Akzeptierte Antwort:
Der einfachste Weg, dies zu tun, besteht darin, ein Shell-Skript in /etc/bash_completion.d/
einzufügen . Die Grundstruktur dieser Datei ist eine einfache Funktion, die die Vervollständigung und dann den Aufruf von complete
durchführt das ist eine eingebaute Bash. Anstatt ins Detail zu gehen, wie man complete
verwendet , schlage ich vor, dass Sie eine Einführung in die Bash-Vervollständigung lesen. Teil 1 behandelt die Grundlagen und Teil 2 erläutert, wie Sie beim Schreiben eines Abschlussskripts vorgehen würden.
Eine ausführlichere Beschreibung der Bash-Vervollständigung finden Sie im Abschnitt „Programmierbare Vervollständigung“ von man bash
(Sie können „/Programmable Completion“ eingeben und dann ein paar Mal „n“ drücken, um schnell dorthin zu gelangen. Oder, wenn Sie Glück haben, „g 2140 RETURN“).