Ein
Kommandozeileninterpreter
,
englisch
command-line interpreter (CLI)
oder
command-line shell
, sowie kurz
Kommandozeile
, aber auch
Kommandointerpreter
und
Befehlsinterpreter
[1]
genannt, ist ein
Programm
, das Benutzer
eingaben
von einer
Kommandozeile
einliest und als
Anweisung
ausfuhrt. Die Anweisung wird
interpretiert
ausgefuhrt, und gegebenenfalls wird ihr Ergebnis dem Benutzer angezeigt.
Wahrend Kommandozeilen bei vielen Programmen integriert sein konnen, ist bei Kommandozeileninterpretern die Kommandozeile die Hauptfunktion, um den integrierten Interpreter zu nutzen. Beispiele sind die
Konsole
oder
Terminal
, eine
Shell
oder eine
Terminalemulation
.
In seiner ursprunglichen Form macht ein Kommandozeileninterpreter dem Endanwender
betriebssystemeigene
Funktionen durch eine zeilenorientierte
Syntax
auf einer
Systemkonsole
zuganglich. Nach der Entwicklung der ersten
Rohrenbildschirme
wurden auch die Befehlsinterpreter entsprechend angepasst. Der
Cursor
wurde erfunden. Es kamen immer komplexere
Kommandozeilenparameter
und Befehle hinzu, bis hin zu einfachen Elementen aus
Programmiersprachen
, wie z. B.
Schleifen
oder
Variablen
.
Technisch gesehen sind
Unix-Shells
, die von der
Multics
-Shell inspiriert waren, ebenfalls Kommandozeileninterpreter, werden jedoch fast ausschließlich mit ?Shell“ bezeichnet. In vielen Bereichen gelten daher
Shell
und
Kommandozeileninterpreter
als
Synonyme
.
Das in den 1970er Jahren auf
PCs
dominierende Betriebssystem
CP/M
war in drei Ebenen, genannt
Schalen
, aufgeteilt: Die erste Schale beinhaltete alle hardwarenahen Funktionen, die vom Kernel in der zweiten Schale auf einer Vielzahl unterschiedlicher Computer fur die Grundfunktionen des Betriebssystems verwendet wurden. Der Kommandozeileninterpreter war die dritte Schale und wurde CCP genannt, fur
englisch
Console Command Processor
.
Die Entwicklung des ersten Befehlsinterpreters in den
DOS
-Reihen begann mit der Entwicklung von
86-DOS
, das sich CP/M als Vorbild nahm. Der Befehlsinterpreter von 86-DOS wurde auf der Befehlsebene
command.com
genannt und spater in
MS-DOS
und danach in die
Windows-9x-Reihe
ubernommen sowie dafur weiterentwickelt. Die Hauptentwicklung der
command.com
fand in den 80er- und 90er-Jahren statt.
Mit der Einfuhrung der
Windows NT
-Reihe folgte die
cmd.exe
, in deren Entwicklung die vorangegangene Entwicklung der
command.com
einfloss und die diese bis zum gegenwartigen
Windows 10
emuliert. Eine bedeutende Weiterentwicklung der
cmd.exe
wurde nicht vollzogen, weil bei der Entwicklung vorrangig auf die Kompatibilitat mit dem ehemaligen MS-DOS geachtet wurde.
Windows NT bot lange keinen den
Unix-Shells
ebenburtigen Kommandozeileninterpreter. Dies machte viele administrative Aufgaben unnotig kompliziert. Das Konzept, dem
cmd.exe
folgt, war dem der modernen Unix-Shells weit unterlegen. Deshalb wurde im Jahr 2006 die erste Version der
PowerShell
veroffentlicht, welche sich in vielen Eigenschaften an bekannten Unix-Shells wie
Bash
oder
zsh
orientiert. Im Gegensatz zu den Unix-Shells folgt die PowerShell dem Paradigma der
objektorientierten Programmierung
und basiert auf dem
.NET
-Framework. Die Abwartskompatibilitat mit MS-DOS spielte dabei eine untergeordnete Rolle.
Der Befehlsinterpreter kapselt das
Betriebssystem
gegenuber dem
Benutzer
ab und wird daher auch als Benutzeroberflache oder auch als
Shell
(engl. fur Schale) bezeichnet.
Fur erfahrene Benutzer haben Befehlsinterpreter den Vorteil der schnellen und unmittelbaren
Kontrolle
sowie der leichten Erreichbarkeit aller Funktionen, nachdem die Syntax, die Befehle und ihre
Kommandozeilenparameter
einmal erlernt wurden. Zudem lassen sich haufig wiederkehrende Befehlsfolgen durch
Stapelverarbeitung
, Batchdateien,
Makros
oder
Skripte
automatisieren, was bei einer
grafischen Oberflache
grundsatzlich nur sehr schwer zu verwirklichen ist.
Im Folgenden wird Software genannt, welche einen Kommandozeileninterpreter (
CLI
) implementiert. Die Liste ist unvollstandig, da sie nur einige Beispiele aufzeigen soll.
- ↑
Befehlsinterpreter
?
Wissen-digital.de
(abgerufen am 14. Juli 2019); auch mit ?Kommandointerpreter“