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