8.10 Ein Shellscript bei der Ausführung
In diesem Abschnitt soll kurz zusammengefasst werden, wie ein Shellscript arbeitet. Gewöhnlich starten Sie ein Shellscript so, dass die aktuelle Shell eine neue Subshell eröffnet. Diese Subshell ist für die Ausführung des Shellscripts verantwortlich. Sofern das Script in der aktuellen Shell nicht im Hintergrund ausgeführt wird, wartet die Shell auf die Beendigung der Subshell. Ansonsten, also bei einem im Hintergrund gestarteten Script, steht die aktuelle Shell gleich wieder zur Verfügung. Wird das Script hingegen mit einem Punkt gestartet, wird keine Subshell gestartet, sondern dann ist die laufende Shell verantwortlich für die Ausführung des Scripts. Grob läuft die Ausführung eines Scripts in drei Schritten ab, und zwar:
|
Syntaxüberprüfung |
|
Expansionen |
|
Kommandoausführungen |
8.10.1 Syntaxüberprüfung
Bei der Syntaxüberprüfung wird das Shellscript Zeile für Zeile eingelesen. Daraufhin wird jede einzelne Zeile auf die richtige Syntax überprüft. Ein Syntaxfehler tritt auf, wenn ein Schlüsselwort oder eine Folge von Schlüsselworten und weitere Tokens nicht der Regel entsprechen.
8.10.2 Expansionen
Jetzt folgt eine Reihe von verschiedenen Expansionen:
|
Aliase- und Tilde-Expansion |
|
Kommando-Substitution |
|
Variablen-Interpolation |
|
Berechnungen (nur Bash und Korn-Shell) |
|
Dateinamen-Expansionen |
8.10.3 Kommandos
Zu guter Letzt werden die Kommandos ausgeführt. Hier gibt es auch eine bestimmte Reihenfolge, die einzuhalten ist:
1. |
Builtins-Kommandos der Shell (Shell-Funktionen) |
|
|
3. Externes Kommando (in PATH) oder ein binäres Programm
Und natürlich können auch noch weitere Shellscripts aus einem Script gestartet werden (siehe Abbildung 8.4).
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.
|