Android

Bash till loop

Bash Tutorial #5 - Schleifen

Bash Tutorial #5 - Schleifen

Inhaltsverzeichnis:

Anonim

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 hilfreich, um sich wiederholende Aufgaben zu automatisieren. In Bash-Skripten gibt es drei grundlegende Schleifenkonstrukte: for loop, while loop und until loop.

In diesem Tutorial werden die Grundlagen der till-Schleife in Bash erläutert.

Bash bis zur Schleife

Die till-Schleife wird verwendet, um einen gegebenen Befehlssatz auszuführen, solange die gegebene Bedingung als falsch ausgewertet wird.

Die Bash-till-Schleife hat die folgende Form:

until do done

Die Bedingung wird vor dem Ausführen der Befehle ausgewertet. Wenn die Bedingung falsch ist, werden Befehle ausgeführt. Andernfalls wird die Schleife beendet, wenn die Bedingung als wahr ausgewertet wird, und die Programmsteuerung wird an den folgenden Befehl übergeben.

Im folgenden Beispiel gibt die Schleife bei jeder Iteration den aktuellen Wert des Variablenzählers aus und erhöht die Variable um eins.

#!/bin/bash counter=0 until do echo Counter: $counter ((counter++)) done

Die Schleife iteriert so lange, wie die counter einen Wert größer als vier hat. Das Skript erzeugt die folgende Ausgabe:

Counter: 0 Counter: 1 Counter: 2 Counter: 3 Counter: 4 Counter: 5

Bash till Loop Beispiel

Das folgende Skript kann nützlich sein, wenn Ihr Git-Host eine Ausfallzeit hat und Sie das Skript einmal ausführen können, anstatt git pull mehrmals manuell git pull bis der Host online ist. Es wird versucht, das Repository abzurufen, bis es erfolgreich abgerufen wurde.

#!/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 "Warten auf den Git-Host…" aus und wartet eine Sekunde, bis der Git-Host online geht. Sobald das Repository abgerufen wurde, wird die Meldung "Das Git-Repository wird abgerufen." Angezeigt.

Waiting for the git host… Waiting for the git host… Waiting for the git host… The git repository is pulled.

Fazit

Die while und until Schleifen sind einander ähnlich, mit dem Hauptunterschied, dass die while Schleife so lange iteriert, wie die Bedingung true und die until Schleife so lange iteriert, wie die Bedingung false .

Bash-Loop-Terminal