www.wikidata.de-de.nina.az
Die Unix Shell oder kurz Shell englisch fur Hulle Schale bezeichnet die traditionelle Benutzerschnittstelle unter Unix oder unixoiden Computer Betriebssystemen Der Benutzer kann in einer Eingabezeile Kommandos eintippen die der Computer dann sogleich ausfuhrt Man spricht darum auch von einem Kommandozeileninterpreter 1 Der Begriff Shell wurde in diesem Zusammenhang 1964 65 von Louis Pouzin gepragt und dessen Konzepte von Glenda Schroeder fur Multics implementiert In der Regel hat der Benutzer unter Unix die Wahl zwischen verschiedenen Shells Vom Sprachumfang her sind alle ublichen Unix Shells als vollwertige Skriptsprachen zur Programmierung und zur Automatisierung von Aufgaben verwendbar die Abgrenzung zu reinen Skriptsprachen z B Perl awk besteht darin dass Shells besondere Mittel fur den interaktiven Dialog mit dem Anwender bereitstellen die vom Ausgeben eines Prompts im einfachsten Fall bis hin zur Moglichkeit des Editierens der eingegebenen Befehle oder zur Jobsteuerung reichen Im Gegensatz zu den Kommandozeileninterpretern manch anderer Betriebssysteme z B VMS sind Unix Shells gewohnliche Anwenderprogramme ohne besondere Privilegien Inhaltsverzeichnis 1 Allgemeines 1 1 Unix Werkzeuge 1 2 Skripte 1 3 Systemstart 1 4 Kommandos die eigentlich Shell Skripte sind 2 Die fruhen Shells 2 1 Die Thompson Shell 2 2 Die Bourne Shell 2 2 1 Geschichte 2 2 2 Beispielprogramm 2 3 Die C Shell 3 Weiterentwicklungen 3 1 Die Job Control Shell 3 2 Die Kornshell 3 3 Die Public Domain Korn Shell 3 4 Die Bourne Again Shell 3 5 Die TENEX C Shell 3 6 Die Z Shell 3 7 Die Almquist Shell 3 7 1 Die Debian Almquist Shell 3 8 Weitere Shells 4 Kompatibilitat und Portabilitat 5 Literatur 6 Weblinks 7 EinzelnachweiseAllgemeines Bearbeiten nbsp Nach dem Anmelden ist die Shell das Programm das vom login Prozess gestartet wird und Kommandos entgegennimmt Die Kommandos werden dann ausgefuhrt Man unterscheidet zwischen Kommandos die in der Shell implementiert sind wie z B cd und Kommandos die dann im Dateisystem gesucht und gestartet werden Die meisten gangigen Unix Shells bieten die folgenden Funktionen Starten von Kommandos Dateinamen Wildcards globs als Kommandoargumente Bedingungen if case und Schleifen while for interne Kommandos cd read interne Variablen HOME Manipulation der Umgebungsvariablen fur die neuen Prozesse Ein Ausgabeumlenkung Starten mehrerer Prozesse Verkettung uber Pipes Starten von Prozessen im HintergrundModerne Shells konnen daruber hinaus Vervollstandigung von Kommandos Dateinamen und Variablen completion system Editieren der Kommandozeile command line editing Wiederholung und Editieren fruherer Kommandos command history Stoppen und erneutes Starten von Prozessen job control Verschieben von Prozessen aus dem Vordergrund in den Hintergrund und umgekehrt job control Eingebautes Kommando zur Durchfuhrung von Berechnungen 2 2 Eingebautes Kommando zum Testen von Dateieigenschaften test Hinsichtlich des Abbruchs eines Kommandos machen sich die Shells die Eigenschaften des zugrundeliegenden Terminal Geratetreibers zunutze Die Shell wartet normalerweise auf das Ende eines Kommandos Strg C bewirkt unter Unix einen Kommandoabbruch den der Geratetreiber auslost Unix Werkzeuge Bearbeiten Unix Shells machen sich die Eigenschaften des zugrundeliegenden Betriebssystems zunutze Sie implementieren nur das Notigste Externe Unix Kommandos erganzen uber die leistungsfahige Ein Ausgabe und Pipeimplementierung alles Weitere Unix enthalt z B spezielle Kommandos fur die Textdateimanipulation wie Suchen Editieren Ersetzen Worter zahlen Zeichenubersetzung Abschneiden von Zeilen usw Skripte Bearbeiten Shellskripte sind Text Dateien und stellen kleine Programme dar Sie werden vom Anwender geschrieben und beim Aufruf von der Shell gelesen und ausgefuhrt Muss man z B immer wieder in seinem Arbeitsalltag funf Befehle nacheinander in die Shell eintippen kann man sich das Leben vereinfachen indem man diese Befehle in einem Skript sammelt und dann nur noch das ganze Skript aufruft Die Shell liest das Skript aus und fuhrt die Befehle entsprechend aus Zu beachten ist dass man alle Befehle die man handisch in die Shell eingibt auch uber ein Skript ausfuhren kann und umgekehrt Ein Skript das von eins bis hundert zahlt kann wie folgt aussehen bin sh I 1 Variable I auf 1 setzen while test I le 100 While Schleife externes Kommando test I lt 100 do echo I externes Kommando echo gibt I aus I expr I 1 externes Kommando expr Zuweisung der Ausgabe von expr an I done Direkt in der Shell eingegeben sahe dies folgendermassen aus I 1 while test I le 100 do echo I I expr I 1 done Bei spateren Versionen der Bourne Shell und bei moderneren Shells sind die Kommandos test und echo intern da sie sehr haufig benotigt werden und die Shell auch nicht mehr wie bei sehr fruhen Systemen klein gehalten werden muss Der Text eines Skripts kann in eine Datei geschrieben und mit dem Kommando chmod x ausfuhrbar gemacht werden Es verhalt sich dann wie jedes andere Kommando allerdings ist der Start von privilegierten Skripten oft eingeschrankt Beginnt eine ausfuhrbare Unix Datei mit der Zeichenfolge Shebang werten viele Betriebssysteme die darauf folgenden Zeichen bis zum Zeilenende als Angabe welches Programm gestartet werden soll um diese Datei als Skript auszufuhren So kann man unabhangig davon welche Shell der Aufrufer eines Skripts interaktiv verwendet sicherstellen dass das Skript mit der gewunschten Shell ausgefuhrt wird Diese Zeichenfolge ist jedoch nicht Bestandteil des POSIX Standards Systemstart Bearbeiten Beim Hochfahren des Unix Systems werden auch Shellskripte eingesetzt Die BSD Varianten starten dazu einfach das Skript etc rc das dann alle Systeminitialisierungen wie Dateisystemuberprufung Hintergrundprozesse usw durchfuhrt System V Unix Varianten verwenden sysinit das aus mehreren Shell Skripten besteht Unter Linux ist systemd verbreitet welches die Skripte durch deklarative Konfigurationsdateien ersetzt hat Kommandos die eigentlich Shell Skripte sind Bearbeiten Skripte sind von normalen Programmen in der Anwendung nicht zu unterscheiden Manche Unix Versionen liefern sogar einige Kommandos mit die als Shell Skripte realisiert sind Insbesondere Kommandos wie man Online Manual und cc Aufruf von C Compiler Assembler und Linker sind bei vielen Unix Varianten Shell Skripte Die fruhen Shells BearbeitenDie Thompson Shell Bearbeiten Die Thompson Shell war die erste originale Unix Shell und war zwischen 1971 und 1979 die Standard Shell des UNIX Systems von AT amp T Die heute allgemeine Syntax fur die Umleitung von Ein und Ausgabestromen stammt aus dieser Shell Das pipe Konzept wurde 1973 zuerst in der Thompson Shell realisiert Im Gegensatz zu jungeren Shells war die Thompson Shell keine Programmiersprache Mit einem externen if und goto Kommando war jedoch eine Steuerung von Programmablaufen moglich Die Thompson Shell wurde 1979 als Standard Shell durch die Bourne Shell ersetzt Eine Reimplementierung der originalen UNIX V6 Shell fur moderne Unix artige Systeme ist osh fur old shell bzw dessen Nachfolger etsh fur enhanced Thompson shell Die Bourne Shell Bearbeiten Geschichte Bearbeiten Der Vorfahre der meisten heutigen Shells ist die Bourne Shell sh von Stephen R Bourne die 1977 1978 zusammen mit Unix V7 erschien Auf fast allen kommerziellen Unix Varianten findet sich bis heute noch eine spatere Version der Bourne Shell auch wenn sie als Systemshell bin sh zunehmend durch andere Shells ersetzt wird Diese Shell hat auf Version 7 bereits alle wesentlichen Eigenschaften wie Ein Ausgabeumlenkung Pipes Hintergrundprozesse und Kontrollstrukturen Bezuglich der Kommandozeileneditierung verlasst sich die Shell auf den Terminaltreiber der nur das Loschen der ganzen Zeile CTRL U und des letzten Zeichens DEL erlaubt Im Lauf der Zeit wurde die ursprungliche Version erweitert und verandert Da die Bourne Shell nie eine sichtbare Versionierung erfuhr ist die jeweilige Variante nur durch Testen der vorhandenen Eigenschaften herauszufinden Die Bezeichnung ergibt sich dann mit der Variante des AT amp T Unix mit dem sie ausgeliefert wurde V7 System III System V Release 1 kurz SVR1 SVR2 3 4 4 2 Die Bourne Shell Syntax ist Grundlage der meisten modernen Unix Shells die im Wesentlichen eine Erweiterung dieser Shell darstellen Skripte fur die Bourne Shell sind praktisch ohne Anderung auch auf diesen Shells lauffahig Die Skriptfahigkeiten der Bourne Shell waren richtungsweisend und sh ist bis heute eine der beliebtesten Skriptsprachen fur Unix Aus diesem Grund und zwecks Ruckwartskompatibilitat liegt generell eine Bourne kompatible Shell als bin sh vor Seit die OpenSolaris SVR4 Variante der Bourne Shell von Sun als Open Source veroffentlicht wurde ist diese Shell dank eines Umbaus der Speicherverwaltung von sbrk 2 auf malloc 3 durch Jorg Schilling mittlerweile fur nahezu alle Plattformen verfugbar Ein Derivat der Bourne Shell POSIX Shell ist die Standardshell fur neue Benutzerkonten in FreeBSD 2 Beispielprogramm Bearbeiten Obwohl der Funktionsumfang der Bourne Shell verhaltnismassig gering ist konnen mit Hilfe der Standard Unix Programme alle fur Kommandozeileninterpreter typischen Aufgaben ubernommen werden Die Syntax der Bourne Shell ist etwas eigenwillig Beispiel bin sh tageszeit date H if tageszeit lt 12 then echo Guten Morgen else echo Guten Tag fi In der ersten Version der Bourne Shell wurde bereits ein Mechanismus implementiert der das Kriterium z B fur eine erweiterte Fallunterscheidung case auswerten konnte Die Bourne Shell selbst kann daruber hinaus nur eine boolesche Auswertung durchfuhren Weitere Kriterien werden durch externe Programme ermittelt In neueren Bourne Shells ist test implementiert und wird wie alle built in Befehle bei Vorhandensein an Stelle von externen Programmen verwendet In dem Beispiel wird das built in aufgerufen welches abgesehen davon dass ihm zuletzt ein ubergeben werden muss identisch zu test ist Die eckigen Klammern sind dadurch eine andere Schreibweise fur if test tageszeit lt 12 mit den Argumenten aktuelle Stunde gespeichert in tageszeit lt less than kleiner als 12 Gibt das Programm test den Status 0 d h wahr zuruck so wird alles zur Anweisung then gehorende ausgefuhrt Gibt test den Status 1 d h falsch zuruck so wird alles zur Anweisung else gehorende ausgefuhrt Da anschliessend an die jeweiligen Schlusselworter eine Liste von Anweisungen folgen kann wird mit der Anweisung fi d i ein umgedrehtes if die durch das Schlusselwort if eingeleitete Fallunterscheidung beendet Die C Shell Bearbeiten Bill Joy entwickelte in Berkeley fur die zweite BSD Distribution 2BSD von 1979 eine Shell die sich mehr an der C Syntax orientierte die C Shell csh Diese Shell erlaubt bereits eine Kommandozeileneditierung allerdings nicht interaktiv sondern uber eine spezielle Syntax Sie ermoglicht auch das Wiederholen und Editieren alter Kommandos Ausserdem wird erstmals die Job Control Moglichkeit implementiert Uber CTRL Z lasst sich ein Kommando stoppen und spater uber die internen Kommandos fg Foreground Vordergrund bzw bg Background Hintergrund fortsetzen Die C Shell besitzt viele bekannte Features die spater durch bash ubernommen wurden wie z B Aliase oder eine History Heutzutage wird die C Shell nur noch wenig benutzt sie wurde von anderen Shells wie der tcsh der ksh Korn Shell der bash Bourne again Shell oder der zsh abgelost Mit der Hamilton C shell gibt es eine native Implementierung der C Shell fur Windows NT und fruher OS 2 Die Skriptfahigkeiten der C Shell sind durch diverse Unzulanglichkeiten etwas eingeschrankt z B kann die Fehlerausgabe nicht unabhangig von der Standardausgabe umgelenkt werden Ein Anwender der fur die interaktive Eingabe die C Shell verwendet kann durch ein vorangestelltes bin sh in seinen Skripten das Betriebssystem veranlassen die Standard Shell diese ist mindestens kompatibel zur Bourne Shell auf modernen Systemen auch meist POSIX konform zu verwenden Dies ist auch fur alle anderen Shells moglich Weiterentwicklungen BearbeitenAuf jedem Unix System befindet sich eine zu der Bourne Shell kompatible Shell in bin sh Die Verfugbarkeit weiterer Shells hangt von der jeweiligen Unix Variante ab eine C Shell Version findet sich oft in bin csh Wegen der unterschiedlichen Syntax unterscheidet man Bourne Shell und C Shell Abkommlinge Da praktisch alle modernen Shells in der Programmiersprache C geschrieben sind lassen sich fehlende Shells leicht nachrusten Auch auf fremden Betriebssystemen kann man oft eine Unix Shell zumindest als Fremdsoftware finden Die Job Control Shell Bearbeiten Die Job Control Shell ist eine Bourne Shell genauer die SVR4 Variante also erstmals erschienen auf dem AT amp T Unix System V Release 4 die um Job Control Eigenschaften wie sie mit der C Shell bekannt wurden erweitert ist Haufig handelt es sich sogar um dasselbe Programm welches die zusatzlichen Eigenschaften z B die Kommandos bg fg jobs kill stop suspend wait nur aktiviert wenn es unter dem Namen jsh statt sh aufgerufen wird Die Kornshell Bearbeiten Hauptartikel Kornshell David Korn entwickelte fur Unix System V von AT amp T die Kornshell ksh Diese orientiert sich an der Bourne Shell ubernimmt aber auch die Neuerungen der C Shell wie Job control eine weiter verbesserte Kommandozeileneditierung Es existiert eine Version von 1988 ksh88 und eine neuere von 1993 ksh93 Die ksh88 ist Grundlage des POSIX Standards Die Korn Shell war als Teil von Unix System V lange Zeit nur kommerziell erhaltlich Seit dem 1 Marz 2000 ist der Quelltext von ksh93 frei verfugbar Viele kommerzielle Unix Systeme verwenden die ksh als Standard Shell bin sh Die dtksh Desktop Korn Shell stellt eine Korn Shell mit zusatzlichen Kommandos fur die Programmierung von Benutzeroberflachen unter X11 Motif dar Die Public Domain Korn Shell Bearbeiten Die Public Domain Korn Shell pdksh ist eine freie und nicht vollstandig kompatible Kopie der AT amp T Korn Shell Viele Funktionen von ksh88 und wenige von ksh93 sind in ihr enthalten Das OpenBSD Projekt verwendet eine Ableitung der pdksh als Standard Shell bin sh Die MirBSD Korn Shell mksh basiert auf OpenBSDs Version der pdksh oksh enthalt jedoch Fehlerbeseitigungen und Funktionen von anderen Shells Die Bourne Again Shell Bearbeiten Hauptartikel Bash Shell Die Bourne again shell bash 3 ist Teil des GNU Projekts Ihr Name ist ein absichtlich mehrdeutiges Wortspiel und kann sowohl als wiedergeborene born again Shell als auch als wieder einmal eine Bourne Shell interpretiert werden Weitere Interpretationen sind abgeleitet aus dem englischen bash die Feier die Party der Schlag und to bash schlagen kritisieren schlecht machen Geschrieben wurde die Bash grosstenteils von Brian Fox und Chet Ramey Ende der 1980er Jahre Die Bash ist grosstenteils kompatibel zur originalen Bourne Shell sh im Funktionsumfang jedoch erheblich erweitert Vor allem beherrscht sie einen Grossteil der Fahigkeiten der ksh und versteht auch Teile der Syntax der csh wie zum Beispiel die Command History den Directory Stack die RANDOM Variable und die POSIX Form der Command Substitution Daneben sind auch eine ganze Reihe eigene Erweiterungen implementiert Die Bash bin bash ist die Standard Shell sowohl auf den meisten Linux Systemen als auch unter einigen Versionen von macOS und wurde auf fast alle Unix Systeme portiert Fur Windows existieren zahlreiche Portierungen Die bekanntesten sind Cygwin MSYS Minimal SYStem eine Komponente von MinGW Microsoft Windows Services for UNIX Windows Subsystem fur LinuxDie TENEX C Shell Bearbeiten Die TENEX C Shell tcsh stellt eine Erweiterung der C Shell csh von Christos Zoulas dar Sie enthalt Verbesserungen der Kommandozeileneditierung und andere Erweiterungen wie einer programmierbaren Dateinamen Vervollstandigung der Moglichkeit des Editierens von Dateien direkt in der Kommandozeile und einigen anderen Dingen Sie ist aber sonst vollstandig kompatibel zur C Shell Das t in tcsh stammt aus dem T in TENEX ab einem Betriebssystem von dem sich der Autor der tcsh hat inspirieren lassen Die tcsh ersetzt die csh auf vielen Linux Systemen BSD Systemen und alteren Versionen von macOS Die Z Shell Bearbeiten Hauptartikel Z shell Die Z Shell Z shell zsh ist eine Shell mit sehr vielen Moglichkeiten Sie ahnelt sehr der KornShell und ubernimmt auch Funktionen der Bourne Again Shell und der TENEX C Shell Sie geht aber in vieler Hinsicht eigene Wege und gilt als eine der leistungsfahigsten Unix Shells Sie kann als Loginshell als interaktive Shell und als Interpreter fur Shell Skripte verwendet werden Die Z Shell kann als Quintessenz aller Verbesserungen und Features der bash der csh und der tcsh betrachtet werden Zu einigen ihrer Features zahlen eine frei programmierbare Wortvervollstandigung TAB Completion die Moglichkeit die Historie anderer gleichzeitig laufender Z Shell Sitzungen zu nutzen Rechtschreibuberprufung nahezu vollstandige Kompatibilitat zur Bash Kornshell und TENEX C Shell starke Veranderbarkeit des Prompts durch Themes u a die Moglichkeit den Prompt auf die rechte Seite des Terminals zu setzen erweiterte Globbing FunktionalitatenDie Z Shell wurde von Paul Falstad entwickelt und 1990 im Usenet veroffentlicht Sie ist benannt nach dem Login Namen zsh eines seiner Mitarbeiter Die Z Shell ist unter einer BSD Lizenz lizenziert Dies ist der Grund warum bei macOS Catalina 10 15 die Bash durch die Z Shell als Standardshell ersetzt wurde Die Almquist Shell Bearbeiten Die Almquist Shell ash von Kenneth Almquist ist eine Neuimplementierung der SVR4 Variante der Bourne Shell Sie wurde ursprunglich fur die traditionellen BSD Varianten von Unix geschrieben nachdem die Bourne Shell selbst nur noch mit Lizenzierung zu erhalten war Spatere Varianten orientieren sich am POSIX Standard und eignen sich sehr gut zur Ausfuhrung von Skripten Die FreeBSD und NetBSD Projekte verwenden weiterentwickelte Versionen der ash als Standard Shell bin sh Da die ash im Vergleich zu anderen modernen Shells sehr geringe Anspruche an Speichergrosse und Rechnergeschwindigkeit stellt wird sie auch gerne in Embedded Linux Systemen verwendet sie wurde auch in das ebenfalls in diesem Bereich verbreitete Multifunktions Programm BusyBox integriert Die Debian Almquist Shell Bearbeiten Die Debian Almquist Shell dash Bourne kompatibel und POSIX konform ist ein direkter Abkommling der Almquist Shell Sie wurde 1997 durch Herbert Xu portiert und 2002 in dash umbenannt Die dash ist ein moderner Ersatz fur die ash im Debian Projekt wo sie als bin sh eingerichtet ist da sie gegenuber der im interaktiven Gebrauch bevorzugten Bash in Geschwindigkeit Robustheit und Anzahl der Abhangigkeiten Vorteile bietet Aus demselben Grund ist dash die Vorgabe bin sh bei Ubuntu seit Ausgabe 6 10 Weitere Shells Bearbeiten Neben einer Neuimplementierung der letzten Thompson Shell etsh fur enhanced Thompson shell vormals osh alias old shell die unter Unix vor Einfuhrung der Bourne Shell in Gebrauch war existiert eine Unix Implementierung Byron Rakitzis des im Vergleich zur Bourne Shell syntaktisch klareren Plan 9 Kommandointerpreters rc run command von Tom Duff sowie die an die Syntax der rc anschliessende semantisch manipulierbare bzw erweiterbare es extensible shell von Paul Haahr und Byron Rakitzis in die Ideen der funktionalen Programmierung einflossen Eine Shell bei der der interaktive Aspekt zunachst bewusst zu Gunsten der Shell Programmierung vernachlassigt wird ist die Scheme Shell scsh von Olin Shivers mit der fur die Shell Programmierung eine genuine Programmiersprache Scheme zur Verfugung steht Eine syntaktisch an der Programmiersprache Lisp orientierte Shell ist esh easy shell von Ivan Tkatchev Vor allem an interaktive Nutzerfreundlichkeit orientiert ist Axel Liljencrantz fish friendly interactive shell Von Gunnar Ritter stammt eine Portierung der OpenSolaris Bourne Shell nach Linux Solaris Free und NetBSD die unter dem Namen Heirloom Bourne Shell firmiert Einige Mitarbeiter von Red Hat haben die nash entwickelt die von sich behauptet keine Shell zu sein not a shell sondern nur ein Befehlsinterpreter der linuxrc Images interpretieren soll 4 Sie scheint vor allem im Umfeld von Red Hat und Mandriva eingesetzt zu werden Sie ist dort Teil des mkinitrd Pakets Die sash Stand alone shell ist darauf getrimmt dass moglichst viele externe Kommandos durch die internen Funktionen der Shell ersetzt werden Dadurch ist das System auch dann bedienbar wenn wesentliche externe Programme fehlen Die Perl Shells psh und psh2 sind in der Lage Perl Kommandos zu verarbeiten beispielsweise um Pipes effizient zu manipulieren 5 Das Programm IPython stellt eine interaktive Shell auf Basis der Programmiersprache Python zur Verfugung 6 Kompatibilitat und Portabilitat BearbeitenJe nach Abstammung der Shell sind fur sie geschriebene Skripte nicht oder nur bedingt kompatibel zu anderen Shells Zum Beispiel lassen sich Bourne Shell Skripte nicht unter der C Shell ausfuhren aber es besteht eine gewisse Chance dass ein solches Skript unter einer Korn Shell oder Job Control Shell lauft Neben diesem offensichtlichen Problem besteht aber auch das Problem dass unterschiedliche Implementierungen der gleichen Shell existieren und dass Shells unter Beibehaltung ihres Namens im Laufe der Zeit auch weiterentwickelt wurden und werden Die gleichen gleich benannten Shells auf unterschiedlichen Unix Varianten weisen unterschiedliche Entwicklungsstande und somit sowohl unterschiedliche Eigenschaften als auch Fehler auf Hinzu kommt dass Shell Skripte wie bereits beschrieben viele normale Unix Kommandos aufrufen Auch diese unterscheiden sich in ihrem Verhalten zum Teil von Unix zu Unix Dadurch kann sich das Verhalten eines Shell Skripts ebenfalls andern wenn es auf einem anderen Unix ausgefuhrt wird Eine gangige Strategie zum Schreiben von portablen Shell Skripten ist es sich nur auf den kleinsten gemeinsamen Nenner zu verlassen Dies bedeutet in der Regel dass man die Bourne Shell verwendet und damit auf die bequemen Erweiterungen wie sie zum Beispiel in der Korn Shell oder bash zu finden sind bewusst verzichtet Je nachdem wie gross die Bandbreite der abzudeckenden Systeme ist verzichtet man auch auf die Benutzung neuerer in POSIX standardisierter Bourne Shell Features Literatur BearbeitenHelmut Herold Linux Unix Shells Bourne Shell Korn Shell C Shell bash tcsh Addison Wesley Munchen 2003 ISBN 3 8273 1511 5 Alexander Mayer Shell Skripte in Unix C amp L Computer amp Literatur Verlag Boblingen 2005 ISBN 3 936546 23 1 Morris I Bolsky David G Korn The new Korn Shell Command and Programming Language 2 Auflage Prentice Hall Upper Saddle River 1995 ISBN 0 13 182700 6 Arnold Robbins Bill Rosenblatt Learning the Korn Shell 2nd Edition O Reilly Beijing 2002 ISBN 0 596 00195 9 Paul Dubois Using tcsh and csh O Reilly Beijing 1995 ISBN 1 56592 132 1 Patrick Ditchen Shell Skript Programmierung 2 Auflage mitp Heidelberg 2006 ISBN 3 8266 1623 5 Ellie Quigley UNIX Shells by Example 4th Edition Prentice Hall PTR Upper Saddle River 2005 ISBN 0 13 147572 X O Kiddle J Peek P Stephenson From Bash to Z Shell Apress New York 2004 ISBN 1 59059 376 6 Jurgen Wolf Shell Programmierung Einfuhrung Praxis Referenz Galileo Computing Bonn 2005 ISBN 3 89842 683 1 Sven Guckes Julius Plenz Zsh Die magische Shell Open Source Press Munchen 2008 ISBN 3 937514 59 7 Weblinks Bearbeiten nbsp Wikibooks Linux Praxisbuch Shellprogrammierung Lern und LehrmaterialienEinzelnachweise Bearbeiten Thomas Kessel Einfuhrung in Linux Ein praxisorientiertes Lehrbuch Oldenbourg Wissenschaftsverlag Munchen 2007 ISBN 978 3 486 58368 7 S 125 eingeschrankte Vorschau in der Google Buchsuche Der Kommandozeileninterpreter engl shell ist die Schnittstelle um mit dem Betriebssystem zu kommunizieren Unter Linux hat sich bash bourne again shell als die Standard shell durchgesetzt unter UNIX hingegen gibt es eine Vielzahl von shells z B C shell Korn shell Bourne shell die jeweils uber unterschiedliche Syntax und Funktionen verfugen Michael Urban Brian Tiemann Sams teach yourself FreeBSD in 24 hours Sams Publishing 2002 ISBN 978 0 672 32424 6 S 56 eingeschrankte Vorschau in der Google Buchsuche bash gnu org nash Manpage Memento vom 20 Januar 2009 im Internet Archive psh2 IPython as a system shell Abgerufen am 23 Februar 2018 englisch Abgerufen von https de wikipedia org w index php title Unix Shell amp oldid 237238280