Befehlszeilenergänzung
# Befehlszeilenergänzung

Die Befehlszeilenergänzung (englisch command-line completion), auch Tab-Vervollständigung (tab completion) 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.
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.

## Befehlszeilenergänzung unter DOS und Windows

Der Windows-NT-Kommandozeileninterpreter cmd.exe beherrscht ebenfalls Befehlszeilenergänzung, muss allerdings in Windows 2000 vom Benutzer aktiviert werden: cmd.exe /F:ON. In nachfolgenden Windows-Versionen ist die Befehlszeilenergänzung die Voreinstellung (und kann umgekehrt vom Benutzer deaktiviert werden).
Alternative Zusatzprogramme (z. B. 4DOS/4NT) als Kommandozeileninterpreter unterstützen die Befehlszeilenergänzung für DOS und Windows schon viel länger.

## 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.