Gestern habe ich über die Autovervollständigung der bash geschrieben. Heute möchte ich kurz beschreiben wie ich das Verhalten verbessert habe.
Die noch fehlenden Funktionen waren:
- Die Autovervollständigung von Verzeichnisnamen
- Die Autovervollständigung von csv-Dateien in anderen Verzeichnissen als dem aktuellen.
Das Skript habe ich nun folgendermaßen abgeändert:
In Zeile 25 wird die Funktion Nr. 2 (Autovervollständigung von Verzeichnisnamen) realisiert. Durch den Parameter -o plusdirs
wird die Liste der Autovervollständigung um die möglichen Verzeichnisse erweitert.
In Zeile 6 wird die Funktion Nr. 1 (andere Verzeichnisse als das aktuelle) realisiert. Die bash „hat da schon etwas vorbereitet“: compgen -f -X "!*.csv" -- "${curWord}"
Stellt eine Liste für die Autovervollständigung zusammen. Und zwar werden hier für den Parameter ${curWord}
alle passenden Dateien (-f
) mit der Endung .csv (-X "!*.csv"
) Aufgelistet. Dabei wird schon bedacht, dass der Parameter auf ein anderes Verzeichnis zeigen könnte...
Finde ich super.
Dieses Mal habe ich meine Inspiration in der bash-Referenz gefunden, unter Programmable-Completion.