next | next | up | down | Inhalt | Uebungen | Complete | Kommentar

all, section 6.10.

6.10.  Kontrollstrukturen

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!


back | next | up | down | Inhalt | Uebungen | Complete | Kommentar


Created by unroff & hp-tools. © by Hans-Peter Bischof. All Rights Reserved (1997).

Last modified 03/July/97