Schleifen? Für uns kein Problem in Zukunft kein Problem mehr! Ich zeige dir den Aufbau und Beispiele für die Anwendung!
1. Die kopfgesteurte Schleife mit „while“
Die kopfgesteuerte Schleife prüft vor jedem Durchlauf die Bedingung. Im Extremfall wird diese Schleife also kein einziges Mal durchlaufen, wenn nämlich die Bedingung niemals eintrifft. Eine while-Schleife wird auch gern als Endlosschleife benutzt, das bedeutet, dass die Bedingung immer wahr ist.
Aufbau
while [ Ausdruck ] do Kommandos... done
Beispiel: while.sh
#!/bin/bash a=1 b=5 while [ "${a}" -le "${b}" ] do echo "Die Variable ${a} ist kleiner als ${b}" let a=${a}+1 done
2. Die kopfgesteurte Listenschleife mit „for“
Eine Listenschleife durchläuft die Schleife so oft, wie die Liste Elemente hat. Bei jedem Schleifendurchlauf bekommt die Variable den Wert des jeweiligen Listenelements.
Aufbau 1
for Variable in Liste do Kommandos... done
Aufbau 2
for ((Initialisierung; Test; Fortsetzung)) do Kommandos... done
Bespiel zu Variante 1
#!/bin/bash for name in Peter Hans Juergen do echo ${name} done
Diese Schleife läuft somit genau dreimal durch. Im ersten Durchgang bekommt die Variable ${name} den Wert „Peter“, im zweiten „Hans“ und im dritten „Juergen“. Die Ausgabe der Schleife wäre also:
Peter
Hans
Juergen
Bespiel zu Variante 2
#!/bin/bash for ((i=1;i<=10;i=i+1)) do echo ${i} done
Mehrere Dateien abarbeiten? Kein Problem!
dateienschleife.sh
#!/bin/bash prefix="datei" suffix=".sh" for datei in `ls *.txt` do cat ${datei} done