Schleifen sind eines der grundlegenden Konzepte von Programmiersprachen. Schleifen sind praktisch, wenn Sie eine Reihe von Befehlen immer wieder ausführen möchten, bis eine bestimmte Bedingung erfüllt ist.
In Skriptsprachen wie Bash sind Schleifen nützlich, um sich wiederholende Aufgaben zu automatisieren. Es gibt 3 grundlegende Schleifenkonstrukte im Bash-Scripting, for
Schleife, while
Schleife und until
Schleife.
Dieses Tutorial erklärt die Grundlagen des until
Schleife in Bash.
Bash until
Schleife #
Der until
Schleife wird verwendet, um einen gegebenen Satz von Befehlen auszuführen, solange die gegebene Bedingung als falsch ausgewertet wird.
Die Bash until
Schleife hat folgende Form:
until [CONDITION]
do
[COMMANDS]
done
Die Bedingung wird vor der Ausführung der Befehle ausgewertet. Wenn die Bedingung als falsch ausgewertet wird, werden Befehle ausgeführt. Andernfalls, wenn die Bedingung wahr ist, wird die Schleife beendet und die Programmsteuerung wird an den folgenden Befehl übergeben.
Im Beispiel unten gibt die Schleife bei jeder Iteration den aktuellen Wert der Variablen counter
aus und erhöht die Variable um eins.
#!/bin/bash
counter=0
until [ $counter -gt 5 ]
do
echo Counter: $counter
((counter++))
done
Die Schleife wird so lange durchlaufen wie der counter
Variable hat einen Wert größer als vier. Das Skript erzeugt die folgende Ausgabe:
Counter: 0
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5
Verwenden Sie den break
und continue
Anweisungen zur Steuerung der Schleifenausführung.
Bash until
Schleifenbeispiel #
Das folgende Skript kann nützlich sein, wenn Ihr Git-Host eine Ausfallzeit hat und anstatt manuell git pull
einzugeben mehrmals ausführen, bis der Host online ist, können Sie das Skript einmal ausführen. Es wird versuchen, das Repository abzurufen, bis es erfolgreich ist.
#!/bin/bash
until git pull &> /dev/null
do
echo "Waiting for the git host ..."
sleep 1
done
echo -e "\nThe git repository is pulled."
Das Skript gibt „Waiting for the git host …“ und sleep
aus für eine Sekunde, bis der Git-Host online geht. Sobald das Repository gezogen wurde, wird „Das Git-Repository wurde gezogen.“ ausgegeben.
Waiting for the git host ...
Waiting for the git host ...
Waiting for the git host ...
The git repository is pulled.
Schlussfolgerung #
Das while
und until
Schleifen sind einander ähnlich. Der Hauptunterschied besteht darin, dass while
Die Schleife wird so lange wiederholt, wie die Bedingung als true
ausgewertet wird und das until
Die Schleife wird so lange wiederholt, wie die Bedingung zu false
ausgewertet wird .
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.