next up previous contents index
Next: Gruppen und Kontrollstrukturen: Up: bash Previous: Hintergrundprozesse

Listen

 

Neben der Möglichkeit, zwei oder mehr einfache Kommandos in einer Pipeline parallel aufzurufen, erlaubt die Shell weitere Aufrufe mehrerer Kommandos in einer einzigen Zeile. Diese Aufrufe werden als Listen bezeichnet.

Eine Folge von Kommandos kann durch die Kontrolloperatoren &&, ||, & oder ; zu einer Liste zusammengefaßt werden. Die Liste wird durch ein &, ; oder ein Zeilenende (RETURN) abgeschlossen.

Listen mit ; und &

 

Ein Semikolon kann zum Abschluß eines Kommandos benutzt werden. Auf diese Weise können beliebige Kommandos zu einer Liste zusammengefügt werden, indem sie, durch Semikolon getrennt, auf einer Zeile eingegeben werden. Die Ausführung der beiden Kommandos geschieht unabhängig, nacheinander.

Mit dem &-Operator wird ebenfalls ein Kommando abgeschlossen. Auch mit diesem Operator können also zwei Kommandos auf einer Zeile getrennt werden. Jedes mit einem & abgeschlossene Kommando wird unabhängig von den anderen Kommandos der gleichen Zeile im Hintergrund ausgeführt. Es können auf diese Weise also zwei oder mehr Kommandos parallel aufgerufen werden. Diese Kommandos stehen während der Ausführung nicht in Verbindung zueinander. Wenn alle Kommandos einer Zeile durch ein & abgeschlossen werden, erscheint bei der interaktiven Shell sofort die nächste Eingabeaufforderung.

Bedingte Ausführung

Die Kontrolloperatoren && und || verknüpfen zwei Kommandos logisch miteinander. Das zweite Kommando dieser Liste wird in Abhängigkeit vom Ergebnis (Status) des ersten ausgeführt.

Bei der Verknüpfung durch

Kommando1 [ && Kommando2 ...]

wird das Kommando2 nur dann ausgeführt, wenn Kommando1 fehlerfrei abgeschlossen wurde. Man kann das als eine logische UND-Verknüpfung der beiden Kommandos betrachten. Der Status der UND-Liste ist wahr (Null), wenn beide Kommandos ``wahr'' sind. Wenn bereits das erste Kommando Null liefert, wird das zweite zur Bewertung des Gesamtausdrucks nicht mehr benötigt, also wird es auch nicht ausgeführt.

Das Pendant zur UND-Liste ist die ODER-Verknüpfung durch

Kommando1 [ || Kommando2 ...]

Hier wird das Kommando2 nur dann ausgeführt, wenn bei der Bearbeitung vom Kommando1 ein Fehler aufgetreten ist. Analog zur UND-Verknüpfung kann auch die Verkettung durch || als logische ODER-Verknüpfung betrachtet werden. Der Status der ODER-Liste ist wahr, wenn das erste oder das zweite Kommando einen Status Null liefert. Wenn das bereits beim ersten Kommando erfüllt ist, wird das zweite nicht mehr ausgeführt.gif

 



next up previous contents index
Next: Gruppen und Kontrollstrukturen: Up: bash Previous: Hintergrundprozesse



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