logo

Bash While-Schleife

In diesem Thema haben wir gezeigt, wie man die while-Schleifenanweisung im Bash-Skript verwendet.

Der bash while-Schleife kann als Kontrollflussanweisung definiert werden, die die wiederholte Ausführung des angegebenen Befehlssatzes ermöglicht, solange die angewendete Bedingung als wahr ausgewertet wird. Beispielsweise können wir entweder den Echo-Befehl mehrmals ausführen oder einfach eine Textdatei Zeile für Zeile lesen und das Ergebnis mithilfe der while-Schleife in Bash verarbeiten.

Syntax der Bash While-Schleife

Die Bash-While-Schleife hat das folgende Format:

Systemsoftware
 while [ expression ]; do commands; multiple commands; done 

Die obige Syntax ist nur anwendbar, wenn der Ausdruck eine einzelne Bedingung enthält.

Wenn der Ausdruck mehrere Bedingungen enthalten soll, sieht die Syntax der while-Schleife wie folgt aus:

 while [ expressions ]; do commands; multiple commands; done 

Die einzeilige Syntax der while-Schleife kann wie folgt definiert werden:

 while [ condition ]; do commands; done while control-command; do Commands; done 

Es gibt einige wichtige Punkte der „while-Schleife“-Anweisung:

  • Vor der Ausführung der Befehle wird die Bedingung überprüft.
  • Die „while“-Schleife ist auch in der Lage, die gesamte Arbeit auszuführen, die die „for“-Schleife leisten kann.
  • Die Befehle zwischen „do“ und „done“ werden wiederholt ausgeführt, solange die Bedingung „true“ ergibt.
  • Die Argumente für eine „while“-Schleife können ein boolescher Ausdruck sein.

Wie es funktioniert

Die while-Schleife ist eine eingeschränkte Eingabeschleife. Dies bedeutet, dass die Bedingung überprüft wird, bevor die Befehle der while-Schleife ausgeführt werden. Wenn die Bedingung „true“ ergibt, werden die auf diese Bedingung folgenden Befehle ausgeführt. Andernfalls wird die Schleife beendet und die Programmsteuerung an den anderen Befehl übergeben, der auf die „done“-Anweisung folgt.

Beispiele für Bash-While-Schleifen

Im Folgenden finden Sie einige Beispiele für eine Bash-While-Schleife:

While-Schleife mit Einzelbedingung

In diesem Beispiel wird die while-Schleife mit einer einzelnen Bedingung im Ausdruck verwendet. Es handelt sich um das grundlegende Beispiel einer While-Schleife, die eine Reihe von Zahlen entsprechend der Benutzereingabe druckt:

Beispiel

 #!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -le $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.' 

Ausgabe

Bash While-Schleife

While-Schleife mit mehreren Bedingungen

Im Folgenden finden Sie ein Beispiel für eine While-Schleife mit mehreren Bedingungen im Ausdruck:

Beispiel

 #!/bin/bash #Script to get specified numbers read -p 'Enter starting number: ' snum read -p 'Enter ending number: ' enum while [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) done echo 'This is the sequence that you wanted.' 

Ausgabe

Snipping-Tool in Ubuntu
Bash While-Schleife

Endlose While-Schleife

Eine Endlosschleife ist eine Schleife, die kein Ende oder Ende hat. Wenn die Bedingung immer wahr ist, entsteht eine Endlosschleife. Die Schleife wird kontinuierlich ausgeführt, bis sie mit STRG+C zwangsweise gestoppt wird:

Beispiel

 #!/bin/bash #An infinite while loop while : do echo 'Welcome to Javatpoint.' done 

Wir können das obige Skript auch in einer einzigen Zeile schreiben als:

 #!/bin/bash #An infinite while loop while :; do echo 'Welcome to Javatpoint.'; done 

Ausgabe

Bash While-Schleife

Hier haben wir den integrierten Befehl (:) verwendet, der immer true zurückgibt. Wir können auch den integrierten Befehl true verwenden, um wie folgt eine Endlosschleife zu erstellen:

Beispiel

Java-Ersatz
 #!/bin/bash #An infinite while loop while true do echo 'Welcome to Javatpoint' done 

Dieses Bash-Skript liefert auch die gleiche Ausgabe wie das oben genannte unendliche Skript.

Hinweis: Endlosschleifen können durch Drücken von STRG+C oder durch Hinzufügen eines bedingten Exits innerhalb des Skripts beendet werden.

While-Schleife mit einer Break-Anweisung

Eine break-Anweisung kann verwendet werden, um die Schleife gemäß der angewendeten Bedingung zu stoppen. Zum Beispiel:

Beispiel

 #!/bin/bash #While Loop Example with a Break Statement echo 'Countdown for Website Launching...' i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo 'Mission Aborted, Some Technical Error Found.' break fi echo '$i' (( i-- )) done 

Ausgabe

Laut Skript ist der Schleife eine zehnmalige Iteration zugewiesen. Nach acht Iterationen gibt es jedoch eine Bedingung, die die Iteration unterbricht und die Schleife beendet. Die folgende Ausgabe wird nach der Ausführung des Skripts angezeigt.

Bash While-Schleife

While-Schleife mit einer Continue-Anweisung

Eine continue-Anweisung kann verwendet werden, um die Iteration für eine bestimmte Bedingung innerhalb der while-Schleife zu überspringen.

Beispiel

 #!/bin/bash #While Loop Example with a Continue Statement i=0 while [ $i -le 10 ] do ((i++)) if [[ '$i' == 5 ]]; then continue fi echo 'Current Number : $i' done echo 'Skipped number 5 using Continue Statement.' 

Ausgabe

Bash While-Schleife

While-Schleife mit C-Stil

Wir können auch eine While-Schleife in einem Bash-Skript schreiben, die einer While-Schleife in der Programmiersprache C ähnelt.

Beispiel

 #!/bin/bash #While loop example in C style i=1 while((i <= 10)) do echo $i let i++ done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/46/bash-while-loop-6.webp" alt="Bash While Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use while loop statement in Bash to perform specific tasks.</p> <hr></=>