SelfLinux » Basiskonzepte für Benutzer » Einführung in die Bourne Again Shell (bash) » Teil 1 SelfLinux-0.8.0
« zurück weiter »
SelfLinux logo
OrdnerEinführung in die Bourne Again Shell (bash) Revision: 1.1.2.5
Autor: Matthias Kleine
Layout: Torsten Hemm
Lizenz: GFDL

1 Funktionsweise

Sie möchten ein Kommando ausführen. Das Kommando liegt im Binärformat auf einem Ihrer Datenträger. Da Sie das Kommando nicht mit Ihrem Finger anschnippen können, muß es einen Weg geben, das Kommando aufzurufen. Vielleicht halten Sie das für einen einfachen Vorgang, aber das ist es nicht.

Aus der Sicht des Betriebssystems ist ein Kommando ein Prozeß wie jeder andere auch. Auf einem Multitasking-Betriebssystem wie Linux laufen zu jeder Zeit eine große Zahl von Prozessen »gleichzeitig«. Bei der Besprechung des Linux-Kernels werden wir später noch darauf eingehen, was dieses »gleichzeitig« bedeutet und welche Arbeit dabei für den Kernel anfällt. Im Augenblick genügt es uns zu wissen, daß die Prozeßverwaltung - und damit auch der Start von Prozessen - zu den wesentlichen Aufgaben des Betriebssystems selbst gehört.

In Wahrheit ist es so, daß Sie selbst gar nicht befugt sind, ein Kommando zu starten. Vielmehr müssen Sie das Betriebssystem damit beauftragen, dies für Sie zu tun. Damit tut sich aber gleich das nächste Problem auf: Der Kernel selbst ist lediglich eine Sammlung von C-Funktionen, und es dürfte wohl kaum in Ihrem Interesse liegen, mit diesen Funktionen selbst zu kommunizieren. Keine Angst - das müssen Sie auch nicht. Betrachten Sie die folgende Abbildung:


Funktionsweise der Shell
Funktionsweise der Shell

Wie Sie auf dieser schematischen Abbildung sehen können, bildet die Shell eine Schale um den Systemkern. Daher trägt sie auch ihren Namen - im Englischen bedeutet »shell« soviel wie »Schale« oder »Muschel«. Damit ist ausgedrückt, daß ein Zugriff auf Betriebssystem - Routinen üblicherweise über eine Shell erfolgt - die Shell vermittelt zwischen dem Benutzer und dem Betriebssystem. Um dem Betriebssystem also beispielsweise den Auftrag zu geben, ein bestimmtes Kommando für Sie zu starten, kommunizieren Sie zunächst mit der Shell, und diese reicht Ihren Auftrag in geeigneter Form weiter.

In der Unix - Welt gibt es viele Shells, von denen einige sicher zweckmäßiger als andere sind. Die meisten dieser Shells sind in einer freien Version auch unter Linux verwendbar. Die meist verbreitete Shell unter Linux, die von praktisch allen Distributoren als die Standardshell verwendet wird, ist die Bourne Again Shell, eine verbesserte Version der alten Bourne Shell. Alle weiteren Ausführungen in diesem Abschnitt werden sich daher auf die Bash beziehen.

Bei der Eingabe von Kommandos werden Sie von der Shell auf vielfältige Art und Weise unterstützt. Einen Teil dieser Unterstützung stellen Editierhilfen dar, die Ihnen einfach etwas Tipparbeit abnehmen sollen. Diesen Hilfen werden wir uns in nächsten Absatz widmen. Alle weiteren Absätze widmen sich den Shell - Mechanismen, die einen flexiblen und effizienten Gebrauch von Kommandos ermöglichen. Diese Mechanismen stellen gleichzeitig auch die Grundlage der Shellprogrammierung dar, die wir jedoch erst in einem späteren Kapitel behandeln möchten.


« zurück weiter »
Inhalt