![]() ![]() ![]() |
![]() ![]() |
Mit if
-Anweisungen steuert man in Abhängigkeit eines
Ausdruckes den Programmablauf:
if <Bedingung>; then
|
Beispiel:
#!/bin/sh
|
if-Verzweigungen können verschachtelt werden:
if [ $# -gt 2 ]; then # Zeile 1
|
Die Tests in Zeile 1 und 4 sind semantisch äquivalent, sieht man einmal davon ab, dass im ersten Test überprüft wird, ob die Anzahl der Parameter größer 2 ist und im zweiten auf "ungleich 2" getestet wird.
Um große Verschachtelungstiefen bei if
-Konstrukten zu vermeiden, kann die
case
-Anweisung verwendet werden:
case "Variable" in
|
Beispiel:
#!/bin/sh
|
case
arbeitet mit Mustervergleich von Zeichenketten, deshalb
wird der Vergleichsausdruck in Doppelanführungszeichen gesetzt ("$i"
).
Mit welchem Muster der Ausdruck zu vergleichen ist, steht vor einer
schließenden runden Klammer; -*
bedeutet also: Die Muster stimmen
überein, sobald der Vergleichsausdruck mit einem Minus beginnt. Die
Anweisungen ab dem ersten zutreffenden Vergleich werden abgearbeitet bis
zu einem expliziten Abbruch (zwei Semikola in Folge ;;
) oder bis
zum Ende der case
-Anweisung.
![]() ![]() ![]() |
![]() ![]() |