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
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
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
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.
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
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></=>