Moin, hier erkläre ich euch, welche Schleifen es unter Linux gibt und nenne dazu jeweils Beispiele.
Ok legen wir los.
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 schon von vorneherein nicht wahr ist. Eine while-Schleife wird auch gern als Endlosschleife benutzt, das bedeutet, dass die Bedingung immer wahr ist.
Aufbau:
while [ Ausdruck ] do Kommandos... done
Beispiel:
#!/bin/bash #Dateiname: 1-while.sh a=1 b=5 while [ "$a" -le "$b"] # -le = "lower then" - kleiner als do echo "Die Variable $a ist kleiner als $b" # zeigt den Text an let a=$a+1 # erhöht a nach jedem Durchlauf um 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:
for Variable in Liste do Kommandos... done
Beispiel:
#!/bin/bash #Dateiname: 2-for-standard.sh for name in Jens Julien Lars do echo $name done
Diese Schleife läuft somit genau 3mal durch. Im ersten Durchgang bekommt die Variable name den Wert „Jens“, im zweiten „Julien“ und im dritten „Lars“. Die Ausgabe der Schleife wäre also:
Jens
Julien
Lars
Ihr wollt gerne mit mehreren Dateien eines Dateitypes etwas machen?
Dann hier ein weiteres Beispiel:
#!/bin/bash #Dateiname: 3-for-mit-ls.sh cd /home/Julien/Dokumente # wechselt zum Zielverzeichnis for dateiname in `ls *.txt` # *.txt - alle Dateien welche die Dateiendung .txt besitzen do echo $dateiname # Ausgabe, siehe unten! done
Ausgabe: (bei mir)
abi.txt
blabla.txt
test.txt
text.txt
zebra.txt
Natürlich gibt es wie immer alle Quelltexte in Form einer Datei HIER zum Download.
Viel Spaß euch ;)
– Julien