|
|
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.
|
|