bash Autovervollständigung die Zweite

Published on Saturday, 17 July 2010

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:

  1. Die Autovervollständigung von Verzeichnisnamen
  2. 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.