In Bash-Skripten sind Schleifen Kontrollstrukturen, mit denen Sie einen Codeblock wiederholt ausführen können, bis eine bestimmte Bedingung erfüllt ist. Schleifen sind unerlässlich, um sich wiederholende Aufgaben zu automatisieren, Datensammlungen zu verarbeiten und iterative Operationen durchzuführen. Das Verständnis der verschiedenen in Bash verfügbaren Schleifentypen ist entscheidend für das Schreiben effizienter und effektiver Skripte.
Die for
-Schleife ist eine einfache und häufig verwendete Schleife in Bash. Sie ermöglicht es Ihnen, eine Liste von Werten oder einen Zahlenbereich zu durchlaufen. Die Syntax der for
-Schleife lautet wie folgt:
for variable in list do commands done
variable
: Die Variable, die zum Durchlaufen der Liste oder des Bereichs verwendet wird.list
: Die Liste der Werte oder der Zahlenbereich, der durchlaufen werden soll.commands
: Die Befehle, die für jede Iteration der Schleife ausgeführt werden sollen.Beispielsweise durchläuft die folgende for
-Schleife die Liste der Früchte und gibt jede Frucht aus:
fruits=(apple banana orange) for fruit in "${fruits[@]}" do echo $fruit done
Die while
-Schleife führt einen Codeblock wiederholt aus, solange eine bestimmte Bedingung erfüllt ist. Die Syntax der while
-Schleife lautet wie folgt:
while condition do commands done
condition
: Die Bedingung, die bestimmt, ob die Schleife weiter ausgeführt wird.commands
: Die Befehle, die für jede Iteration der Schleife ausgeführt werden sollen.Beispielsweise gibt die folgende while
-Schleife weiterhin Zahlen von 1 bis 10 aus:
i=1 while [ $i -le 10 ] do echo $i ((i++)) done
Die until
-Schleife ähnelt der while
-Schleife, führt jedoch einen Codeblock wiederholt aus, bis eine bestimmte Bedingung falsch wird. Die Syntax der until
-Schleife lautet wie folgt:
until condition do commands done
condition
: Die Bedingung, die bestimmt, ob die Schleife weiter ausgeführt wird.commands
: Die Befehle, die für jede Iteration der Schleife ausgeführt werden sollen.Beispielsweise gibt die folgende until
-Schleife weiterhin Zahlen von 1 bis 10 aus, bis der Benutzer einen nicht numerischen Wert eingibt:
read -p "Enter a number: " number until [[ $number =~ ^[0-9]+$ ]] do echo "Invalid input. Please enter a number." read -p "Enter a number: " number done echo "You entered $number."
Die do-while
-Schleife ist eine Variante der while
-Schleife, die einen Codeblock mindestens einmal ausführt, bevor die Schleifenbedingung überprüft wird. Die Syntax der do-while
-Schleife lautet wie folgt:
do commands done while condition
commands
: Die Befehle, die für jede Iteration der Schleife ausgeführt werden sollen.condition
: Die Bedingung, die bestimmt, ob die Schleife weiter ausgeführt wird.Beispielsweise gibt die folgende do-while
-Schleife weiterhin Zahlen von 1 bis 10 aus, auch wenn der Benutzer einen nicht numerischen Wert eingibt:
read -p "Enter a number: " number do echo $number ((number++)) done while [[ $number -le 10 ]]
Verschachtelte Schleifen sind Schleifen innerhalb von Schleifen. Sie ermöglichen es Ihnen, komplexe Iterationen durchzuführen und Datenstrukturen mit mehreren Ebenen zu verarbeiten. Verschachtelte Schleifen können durch die Kombination verschiedener Schleifentypen oder die mehrfache Verwendung desselben Schleifentyps erstellt werden.
Beispielsweise durchlaufen die folgenden verschachtelten for
-Schleifen ein zweidimensionales Array und geben jedes Element aus:
array=( [0,0]=1 [0,1]=2 [0,2]=3 [1,0]=4 [1,1]=5 [1,2]=6 [2,0]=7 [2,1]=8 [2,2]=9 ) for ((i=0; i<3; i++)) do for ((j=0; j<3; j++)) do echo ${array[$i,$j]} done done
Mit Schleifensteuerungsanweisungen können Sie den Ablauf einer Schleife ändern. Die beiden am häufigsten verwendeten Schleifensteuerungsanweisungen in Bash sind break
und continue
.
Die break
-Anweisung wird verwendet, um eine Schleife vorzeitig zu beenden. Wenn eine break
-Anweisung angetroffen wird, wird die Schleife sofort beendet und die Ausführung mit der Anweisung fortgesetzt, die auf die Schleife folgt.
Beispielsweise verwendet die folgende for
-Schleife die break
-Anweisung, um die Schleife zu verlassen, wenn der Wert von i
5 erreicht:
for ((i=0; i<10; i++)) do if [ $i -eq 5 ] then break fi echo $i done
Die continue
-Anweisung wird verwendet, um die aktuelle Iteration einer Schleife zu überspringen und mit der nächsten Iteration fortzufahren. Wenn eine continue
-Anweisung angetroffen wird, werden die verbleibenden Anweisungen in der aktuellen Iteration übersprungen und die Schleife fährt mit der nächsten Iteration fort.
Beispielsweise verwendet die folgende while
-Schleife die continue
-Anweisung, um gerade Zahlen zu überspringen:
i=0 while [ $i -lt 10 ] do ((i++)) if [ $((i % 2)) -eq 0 ] then continue fi echo $i done
Schleifen sind wesentliche Kontrollstrukturen in Bash-Skripten, mit denen Sie sich wiederholende Aufgaben automatisieren, Datensammlungen verarbeiten und iterative Operationen durchführen können. Das Verständnis der verschiedenen in Bash verfügbaren Schleifentypen und deren effektive Verwendung ist entscheidend für das Schreiben effizienter und effektiver Skripte. Darüber hinaus bieten Ihnen Schleifensteuerungsanweisungen die Möglichkeit, den Ablauf von Schleifen zu ändern, wodurch sie noch vielseitiger werden.
Um die Verwendung von Schleifen in Bash zu beherrschen, ist es wichtig, zu üben und mit verschiedenen Szenarien zu experimentieren. Je mehr Sie mit Schleifen arbeiten, desto besser werden Sie ihr Verhalten verstehen und sie zur Lösung realer Probleme anwenden können.
YesNo
Hinterlasse eine Antwort