Die UNIX-Shell-Entwicklung begann in den frühen 70er Jahren. Diese Ausarbeitung bieten einen Überblick über die bekanntesten Shells in übersichtlicher Form.
Inhalt
1. Unix-Shell
2. Die Shell-Generationen
2.1 Die erste Generation
2.2 Die zweite Generation
2.3 Die dritte Generation
2.4 Die vierte Generation
3. Weitere Shells
4. Fazit
5. Literaturverzeichnis
6. Abbildungsverzeichnis
1. Unix-Shell
Bevor auf die verschiedenen UNIX-Shells und deren Entwicklung eingegangen wird, wird vorweg definiert, was unter einer Shell verstanden wird.
Nach Plötner und Wendzel ist eine Shell das Programm, welches nach dem Konsolenlogin gestartet wird und in dem Befehle eingegeben werden können (Plötner & Wendzel, 2008).
2. Die Shell-Generationen
Die Entwicklung der Shells begann circa in den 70er Jahren. Heute kann man daher die einzelnen Shells in vier Generationen einteilen.
2.1 Die erste Generation
Zur ersten Generation zäht die Thomson-Shell und als Weiterentwicklung davon die Mashey-Shell.
Die Thomson-Shell auch unter dem Kürzel „osh“ bekannt, war die erste Shell die 1971 von Ken Thomson in der Unix-Version 1 eingeführt wurde und Bestandteil der nachfolgenden Unix-Versionen (einschließlich Version 6) war.
Diese Shell war sehr einfach gehalten. Das Programm enthielt grundlegende Strukturen. Es war noch nicht möglich Variablen zu nutzen. Somit zählte sie zu den einfachen Komandozeilen-Interpreter (Shell.ir, Thompson Shell, o. J.). Desweiteren gab es eine kompakte Syntax für die Input/Output-Umleitung, welches vor osh über seperaten Befehle geregelt wurde.
Abbildung in dieser Leseprobe nicht enthalten
Übersicht 1: Thomson-Shell [basierend auf (Shell.ir, Thompson Shell, o. J.)]
Eine Weiterentwicklung der Thomson-Shell war die Mashey-Shell auch bekannt unter PWB-Shell (Dr. Bezroukov, 2008). John Mashey und Entwickler wie Dick Haight, Alan Glasser modifizierten die osh dahingegen, dass diese auch für Shell-Programmierung geeigneter einsetzbar war (siehe Überblick Mashey-Shell).
Abbildung in dieser Leseprobe nicht enthalten
Übersicht 2: Mashey-Shell [basieren auf (Wikipedia.org, PWB Shell, o. J.)]
Die Shell-Varianten der ersten Generation wurde bis 1979 genutzt und durch die BourneShell abgelöst.
2.2 Die zweite Generation
Zu der zweiten Generation in der Shell-Entwicklung zählen die Bourne- und C-Shell. Beide Shells entwickelten sich parallel.
Bourne-Shell, abgekürzt sh („Standard Shell“), ist die Standard-Unix-Shell der Unix Version 7, welche 1977 erstmals an Colleges und Universitäten (Wikipedia.org, Bourne Shell, o. J.) eingesetzt wurde. Das Programm ersetzte nach und nach die Thomson-Shell und wurde von Stephen Bourne entwickelt. Es gibt verschiedene Varianten (Mascheck, The Traditional Bourne Shell Family, 2007) zum Beispiel System III (`81) oder SVR1 (´83) der Bourne-Shell, auf die in dieser Ausarbeitung nicht näher eingegangen wird.
Abbildung in dieser Leseprobe nicht enthalten
Übersicht 3: Bourne-Shell [basierend auf (Mascheck, The Traditional Bourne Shell Family, 2007) und (Wikipedia.org, Bash, o. J.)]
Parallel zur Bounce-Shell wurde von Billy Joy für die BSD-Unix-Systeme die C-Shell entwickelt. Diese Shell basiert in einigen Teilen (Syntax) auf der Programmiersprache C (Buchanan & Gingrich, 1996) und enthält beträchtliche Erweiterungen zur Bourne-Shell. Auch in der Syntax erkennt man die Unterschiede beider Shells z.B. bei der Zuordnung der Variablen (ins csh „set a = b“; in sh „a=b“) (Shell.ir, C Shell, o. J.).
Heute wird diese Shell nur noch sehr wenig genutzt zumal sie für Unix-Anfänger nicht geeignet ist.
Abbildung in dieser Leseprobe nicht enthalten
Übersicht 4: C-Shell [basierende auf (Shell.ir, C Shell, o. J.)]
2.3 Die dritte Generation
Zur dritten Generation zählen laut Nikolai Bezroukov die TENEX-C-Shell und die erste Fassung von Korn-Shell (Dr. Bezroukov, 2008).
Die TENEX-C-Shell stellt eine Erweiterung der C-Shell dar, zum Beispiel beinhaltet sie Erweiterung die Überwachung von Login/Logout, periodische Komandoausführung, History-Vervollständigung und anderes (Ermer & Meyer, 2003).
Abbildung in dieser Leseprobe nicht enthalten
Übersicht 5: TENEX-C-Shell [basierend auf (Ermer & Meyer, 2003)]
Anders als die zuvor genannte Shell basiert die von David Korn entwickelte Shell sich an der Bourne-Shell. Allerdings enthält die Korn-Shell auch Funktionen der C-Shell. Die ursprüngliche Version (ksh88) bildet den Basis für die POSIX-Standards und ist Standard kommerzieller Unix-Varianten.
Abbildung in dieser Leseprobe nicht enthalten
Übersicht 6: Korn-Shell [basierend auf (o. A., Korn Shell, o. J.)]
[...]
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.