Kommandozeileninterpreter
Ein Kommandozeileninterpreter, auch Kommandointerpreter oder (ungenau) Shell genannt, ist ein Computerprogramm, welches eine Zeile Text in der Kommandozeile einliest, diesen Text als Kommando interpretiert und ausführt, z. B. durch Starten weiterer Programme.
Die Funktionsweise beim interaktiven Arbeiten am Bildschirm entspricht damit der auf früheren Großrechnern, als Kommandos per Lochkarte ein- und etwaige Ergebnisse auf einem Drucker zeilenweise ausgegeben wurden. Auch in grafischen Benutzeroberflächen ist die Funktion einer "Shell" vorhanden, die die Eingaben des Benutzers interpretiert und umsetzt. Für erfahrene Benutzer haben Kommandozeileninterpreter auch heute noch den Vorteil der schnellen, direkten Kontrolle und Erreichbarkeit aller Funktionen, vorausgesetzt, man kennt den Befehl und dessen Parameter exakt. Zudem lassen sich häufig wiederkehrende Kommandofolgen durch so genannte Makros, Stapeldateien (auch Batch-Files genannt) oder Skripte automatisieren, was bei einer grafischen Oberfläche prinzipbedingt nur schwer zu realisieren ist. (Dennoch gibt es auch Skriptsprachen für grafische Oberflächen, siehe REXX.)
Beispiele für Kommandozeileninterpreter:
- JCL (Job-Control-Language)
- Unix-Shells wie sh (Bourne Shell), bash (Bourne Again Shell), ksh (Korn Shell), csh (C Shell) und zsh
- Eshell (Emacs Shell) für Emacs
- command.com (aus DOS und Windows 9x) bzw. cmd.exe (OS/2, Windows seit Windows NT), aber auch 4dos/4os2 und FreeCom
- rc (Plan 9 Shell)
Auch Skriptsprachen, wie etwa BASIC, Perl oder Lisp bieten eine gewisse Tauglichkeit als Kommandozeileninterpreter. Mancher Editor, wie etwa emacs, erlaubt ebenfalls die Ausführung von relativ komplexen Befehlen über eine Kommandozeile.