Verzweigungen Der Kommandozeileninterpreter Bash Ein komplexes Beispiel Inhalt Index


Schleifen


for

Die for-Schleife arbeitet auf einer Liste, wobei eine Schleifenvariable der Reihe nach mit jedem Element der Liste belegt wird.

for Variable [in Liste]; do
	<Kommando(s)>
done
	

Fehlt die Angabe der Liste, wird versucht, die Schleifenvariable mit einer Liste aus der Umgebung zu verbinden. In einem Shellprogramm ist dies z.B. die Liste der übergebenen Kommandozeilenparameter. Mit dem Kommando set kann auch explizit eine Liste erzeugt werden.

Beispiele

user@sonne> for i in a b c; do echo $i; done
a
b
c

user@sonne> for i in *.tex; do cp $i $i~; done

user@sonne> for i in $(find / -name "*.tex"); 
> do echo $i; cp $i $i~; done

user@sonne> set 1 2 3 4
user@sonne> for i do echo $i; done
1
2
3
4
	


while

while führt die Schleife so lange aus, bis die Bedingung nicht mehr erfüllt ist.

while <Bedingung>; do
	<Kommando(s)>
done
	

Beispiel

 
user@sonne> i=2;z=1; while [ $z -le 5 ]; do 
> echo $z $i; i=$[$i*$i]; z=$[$z+1]; done
1 2
2 4
3 16
4 256
5 65536
	


until

Im Unterschied zu while-Schleifen wird bei until die Bedingung negiert formuliert.

        
until <Bedingung>; do
	<Kommando(s)>
done
	

Beispiele

 
user@sonne> i=1; until [ $i -gt 5 ]; do echo $i; i=$[$i+1]; 
> done 
1
2
3
4 
5

user@sonne> i=2;z=1; until [ $z -gt 5 ]; do 
> echo $z $i; i=$[$i*$i]; z=$[$z+1]; done 
1 2
2 4
3 16
4 256
5 65536
	


Verzweigungen Der Kommandozeileninterpreter Bash Ein komplexes Beispiel Inhalt Index