Befehlszeilenergänzung
Die Befehlszeilenergänzung, auch Tab-Vervollständigung genannt, ist eine spezielle Form der Autovervollständigung bei der Eingabe von Text in ein elektronisches Textverarbeitungsprogramm. Sie erleichtert und beschleunigt den Umgang mit einem Kommandozeileninterpreter wie beispielsweise bash unter Unix/Linux oder Windows PowerShell unter Windows. Sie wird, je nach Einstellung, durch die Tabulator- oder Escape-Taste ausgelöst. Auch Escape-Backslash ist verbreitet.
Beispiel unter Unix / Linux
Soll z. B. in das Verzeichnis /etc gewechselt werden, genügt es cd /e
einzutippen und anschließend die Ergänzungs-Taste zu drücken – der Rest des Namens wird automatisch ergänzt.
/# cd /e ↹ /# cd /etc ↵ /etc#
Das funktioniert jedoch nur, wenn hier kein zweites Verzeichnis mit einem e am Anfang existiert. Existieren im aktuellen Verzeichnis mehrere Unterverzeichnisse, die mit e beginnen, werden die verschiedenen passenden Verzeichnisse nacheinander angeboten, oder es wird (etwa durch einen Ton) ein weiteres Zeichen angefordert, je nach Kommandozeileninterpreter und seiner Konfiguration.
/# cd /s ↹ Es ertönt ein Piep-Ton. /# cd /sb ↹ /# cd /sbin ↵ /sbin#
Befehlszeilenergänzung unter Windows
Der Windows-Kommandozeileninterpreter cmd.exe beherrscht ebenfalls Befehlszeilenergänzung. Dies muss in Windows 2000 erst aktiviert werden (cmd.exe /F:ON). In nachfolgenden Windows-Versionen ist dies Standard.
Alternative Zusatzprogramme (z. B. 4DOS/4NT) als Kommandozeileninterpreter unterstützen die Befehlszeilenergänzung für Windows schon seit Jahren.
Kontextabhängige Ergänzung
Neben der einfachen Befehlszeilenergänzung für Programme und Dateien unterstützen manche Kommandozeileninterpreter wie beispielsweise bash und Windows PowerShell die sogenannte Programmable Completion zur kontextabhängigen Ergänzung bis hin zu den möglichen Argumenten für das jeweilige Programm.
Die Vervollständigung umfasst Pfad-, Datei-, Variablen-, Host- und Nutzernamen-Vervollständigung bis hin zur frei programmierbaren Vervollständigung, wie sie sich seit Version 2.04 in der im Unix-Umfeld verbreiteten bash findet und zuvor schon in der Z-Shell (zsh) und TENEX-C-Shell (tcsh) fand.[1]