|
|
Ein Kommando ist entweder eine Liste, also auch eine Pipeline oder ein einfaches Kommando, oder es ist eine Kontrollstruktur:
for variable # durchläuft $1 ...
do liste
done
for variable in wort...
do liste
done
while liste # Exit-Code Null?
do liste
done
until liste # Exit-Code nicht Null?
do liste
done
if liste # Exit-Code Null?
then liste
elif liste # viele elif ...können entfallen
then liste
else liste # ein else ...kann entfallen
fi
case wort
in muster | muster ) # wie Dateimuster,
erkennen auch /
liste
;; muster ) # viele Fälle
liste
esac
{ liste ;} # Zusammenfassung,
gleiche Shell
( liste ) # Sub-Shell (also fork)
name() { liste ;} # definiert Funktion
Der Exit-Code stammt vom letzten Kommando if, while und until liefern Null, wenn kein Kommando ausgeführt wird.
E/A-Umlenkung ist für die ganze Kontrollstruktur möglich, denn sie gilt wieder als Kommando. Das führt dann aber zu Sub-Shells.
Vorsicht: Die ganzen steuernden Worte sind nicht reserviert insbesondere sind nur die runden Klammern reserviert, die geschweiften nicht!
|
|
Last modified 03/July/97