next up previous contents index
Next: Interaktive Shell und Up: Von GNU'sMuscheln Previous: basename

bash

    

Funktion

bash -- die Wiedergeburtsmuschel. Stark entwickelter Nachfahre eines unsterblichen Wesens aus dem Unix (Kreidezeit).

Syntax

bash [ Optionen] [ Datei]

Beschreibung

In der Computersteinzeit wurden Programme in Lochkarten gestanzt und zusammen mit den Daten in mechanische Kartenleser gepackt. Die Auswahl zwischen den möglichen Programmen fand also nicht an einer Systemconsole, sondern vor den Regalen des Kartenarchivs statt. Heute sind die Programme und die Daten auf magnetischen Datenträgern gespeichert. Die Festplatte einer durchschnittlichen Linux-Installation bietet mindestens 300 verschiedene Programme zur Auswahl.

Die Frage, wie die Auswahl eines konkreten Programms stattfindet, ist ebenso trivial wie bodenlos tiefgründig. Die Antwort ist ein Metaprogramm, das automatisch geladen wird und dessen Hauptaufgabe es ist, weitere Programme zu laden. Unter UNIX und seinen Verwandten wird so ein Programm als Shell bezeichnet. Sie hat, im Gegensatz zu vielen vergleichbaren Programmen anderer Betriebssysteme, den Status eines Benutzerprogramms und kann deshalb nach Belieben ausgetauscht werden.gif

An der Benutzeroberfläche entfesselt sich leicht eine Art Glaubenskrieg zwischen den Protagonisten unterschiedlicher Modelle. Zwischen den grafischen (mausgesteuerten, bildschirmorientierten) und den textuellen (tastaturgesteuerten, zeilenorientierten) Benutzeroberflächen scheinen sich die Geister zu scheiden. Die Vorteile der grafischen Benutzerführung liegt vor allem in ihrer leichten Erlernbarkeit. Durch die Präsentation der möglichen Aktionen in Menüs kann der ungeübte Benutzer intuitiv den Weg zu seiner Problemlösung finden. Zeilenorientierte Oberflächen, sogenannte Kommandozeileninterpreter, haben ihren Vorteil in der Vielseitigkeit. Während in einem Menüsystem zwangsläufig nur die Funktionen zu erreichen sind, für die es Menüeinträge gibt, können im Kommandozeileninterpreter alle Kommandos mit allen zulässigen Optionen aufgerufen werden.

Genau diese Vielseitigkeit macht den Kommandozeileninterpreter -- die Shell -- zu einem unverzichtbaren Werkzeug der Systemverwalterin, das auch in kommerziellen Systemen mit menügesteuerter Administratorshell nicht ersetzt werden kann.

Die ``Standardshell'' von AT&T Unix ist die nach ihrem Entwickler Steven R. Bourne benannte Shell (die unter der Kommandobezeichnung sh aufgerufen wird). Neben ihren Diensten als interaktiver Kommandozeileninterpreter bietet die Bourne-Shell noch eine mächtige Sprache zum Erstellen von Shellprogrammen. Solche Shellscripts erlauben schnell und unkompliziert die Zusammenfassung immer wiederkehrender Kommandofolgen als Batchdatei. Die Möglichkeiten der Shellprogrammierung gehen aber noch viel weiter, wie die weiter hinten folgende Beschreibung zeigen wird.

Neben der ``alten'' Bourne-Shell gibt es noch eine ganze Reihe weiterer Shells. Andere bekannte Shells sind die an der Berkeley Universität entwickelte csh und die nach ihrem Entwickler David Korn benannte Shell ksh. Die Shells unterscheiden sich vor allem in den Shellsprachen, sie haben aber auch neue Eigenschaften zur Erleichterung der interaktiven Benutzung als Kommandozeileninterpreter. Die ``Bourne Again Shell'' bash vereint die altbekannte und bewährte Shellsprache der Bourne Shell mit den fortschrittlichen und beliebten Interaktionsfunktionen der anderen Shells. Die bash ist als Standardshell in allen Linux-Distributionen enthalten.

Es ist erklärter Anspruch der bash, zur Standard-Bourne-Shell kompatibel zu sein, und Ziel ist die volle Übereinstimmung mit dem POSIX-1003.2-Standard. Die Kompatibilität zur Bourne-Shell ist besonders wichtig, um die vielen Shellscripts für diese Standardshell auch mit der bash benutzen zu können. Bei der bash-1.12 gibt es einen Fehler in der case-Anweisung, die zur Inkompatibilität führt. Dieser Fehler ist in Version 1.13 behoben.





next up previous contents index
Next: Interaktive Shell und Up: Von GNU'sMuscheln Previous: basename



Linux Anwenderhandbuch -- Copyright 1993, 1994, 1995 S. Hetze, D. Hohndel, O. Kirch, M. Müller