Schleifen sind eines der grundlegenden Konzepte in der Programmierung. Sie sind sehr nützlich, wenn du eine bestimmte Anzahl von Befehlen wiederholt ausführen möchtest, bis eine Bedingung erfüllt ist.
In Skriptsprachen wie Bash können Schleifen verwendet werden, um sich wiederholende Aufgaben zu automatisieren. Es gibt drei grundlegende Schleifenkonstrukte in Bash: die for
-Schleife, die while
-Schleife und die until
-Schleife.
In diesem Tutorial lernst du die Grundlagen der until
-Schleife in Bash.
Die until
-Schleife in Bash
Die until
-Schleife wird verwendet, um eine bestimmte Reihe von Befehlen solange auszuführen, bis eine Bedingung als wahr ausgewertet wird.
Die until
-Schleife in Bash hat die folgende Syntax:
until [BEDINGUNG]
do
[BEFEHLE]
done
Die Bedingung wird vor der Ausführung der Befehle überprüft. Wenn die Bedingung als falsch ausgewertet wird, werden die Befehle ausgeführt. Wenn die Bedingung jedoch als wahr ausgewertet wird, wird die Schleife beendet und die Programmkontrolle wird an den folgenden Befehl übergeben.
In diesem Beispiel gibt die Schleife bei jeder Iteration den aktuellen Wert der Variable Zähler
aus und erhöht die Variable um eins:
#!/bin/bash
Zähler=0
until [ $Zähler -gt 5 ]
do
echo Zähler: $Zähler
((Zähler++))
done
Die Schleife wird so lange durchlaufen, bis die Variable Zähler
einen Wert größer als 5 hat. Das Skript gibt folgende Ausgabe aus:
Zähler: 0
Zähler: 1
Zähler: 2
Zähler: 3
Zähler: 4
Zähler: 5
Du kannst die Anweisungen break
und continue
verwenden, um die Ausführung der Schleife zu steuern.
Beispiel einer until
-Schleife in Bash
Das folgende Skript kann nützlich sein, wenn dein Git-Host offline ist. Anstatt mehrmals manuell git pull
auszuführen, bis der Host wieder online ist, kannst du das Skript einmal ausführen. Es wird versuchen, das Repository zu ziehen, bis es erfolgreich ist.
#!/bin/bash
until git pull /dev/null
do
echo "Warten auf den Git-Host ..."
sleep 1
done
echo "Das Git-Repository wurde erfolgreich gezogen."
Das Skript gibt „Warten auf den Git-Host …“ aus und wartet eine Sekunde, bis der Git-Host online ist. Sobald das Repository gezogen wurde, gibt es „Das Git-Repository wurde erfolgreich gezogen.“ aus.
Warten auf den Git-Host ...
Warten auf den Git-Host ...
Warten auf den Git-Host ...
Das Git-Repository wurde erfolgreich gezogen.
Zusammenfassung
Sowohl die while
-Schleife als auch die until
-Schleife sind sich sehr ähnlich. Der Hauptunterschied besteht darin, dass die while
-Schleife solange iteriert, wie die Bedingung wahr
ist, und die until
-Schleife solange iteriert, wie die Bedingung falsch
ist.
Wenn du Fragen oder Feedback hast, hinterlasse gerne einen Kommentar.