Wie man While Loop in Bash verwendet

Suraj Joshi 24 Januar 2022
  1. Die Syntax: while Schleife in Bash
  2. Beispiel: while Schleife in Bash
  3. Beispiel: Unendliche while-Schleife in Bash
  4. Beispiel: while Schleife in Bash mit break Anweisung
  5. Beispiel: while-Schleife in Bash mit continue-Anweisung
Wie man While Loop in Bash verwendet

Die while-Schleife ist eine der am weitesten verbreiteten Schleifenstrukturen in fast jeder Programmiersprache. Sie wird verwendet, wenn wir nicht wissen, wie oft wir eine Schleife ausführen müssen. Wir können eine Bedingung für die while-Schleife angeben, und die Anweisungen in der Schleife werden ausgeführt, bis die Bedingung falsch wird.

Die Syntax: while Schleife in Bash

while [condition]
do
   command-1
   command-2
     ...
     ...
   command-n
done

Hier stellt die condition die Bedingung dar, die jedes Mal überprüft werden muss, bevor Befehle in der Schleife ausgeführt werden. Wenn die condition wahr ist, führen wir die Anweisungen in der Schleife aus. Wenn die condition falsch ist, verlassen wir die Schleife. Die Anweisungen von command-1 bis command-n sind Anweisungen, die in einer Schleife ausgeführt werden, bis die condition falsch wird.

Beispiel: while Schleife in Bash

#!/bin/bash

num=5

while [ $num -ge 0 ]
do
  echo $num
  ((num--))
done

Ausgabe:

5
4
3
2
1
0

Hier wird zunächst num auf 5 gesetzt. Wir geben weiterhin num im Terminal aus und dekrementieren num in einer Schleife um 1, solange der Wert von num größer oder gleich 0 ist.

Beispiel: Unendliche while-Schleife in Bash

#!/bin/bash

while true
do
  echo "This is an infinite while loop. Press CTRL + C to exit out of the loop."
  sleep 0.5
done

Ausgabe:

This is an infinite while loop. Press CTRL + C to exit out of the loop.
This is an infinite while loop. Press CTRL + C to exit out of the loop.
This is an infinite while loop. Press CTRL + C to exit out of the loop.
^C

Es ist eine unendliche while-Schleife, die This is an infinite while loop. Press <kbd>Ctrl</kbd>+<kbd>C</kbd> to exit out of the loop. alle 0,5 Sekunden. Um die Schleife zu verlassen, können Sie CTRL+C drücken.

Beispiel: while Schleife in Bash mit break Anweisung

#!/bin/bash

num=5

while [ $num -ge 0 ]
do
  echo $num
  ((num--))
  if [[ "$num" == '3' ]]; then
    echo "Exit out of loop due to break"
    break
  fi
done

Ausgabe:

5
4
Exit out of loop due to break

Im obigen Programm wird num mit 5 initialisiert, die Schleife wird so lange ausgeführt, wie num größer oder gleich 0 ist, aber da wir eine break-Anweisung in der Schleife haben, wenn num 3 ist, verlassen wir die Schleife, wenn der Wert von num 3 wird.

Beispiel: while-Schleife in Bash mit continue-Anweisung

#!/bin/bash

num=6

while [ $num -ge 1 ]
do
  ((num--))
  if [[ "$num" == '3' ]]; then
    echo "Ignore a step due to continue"
    continue
  fi
  echo $num
  
done

Ausgabe:

5
4
Ignore a step due to continue
2
1
0

Im obigen Programm wird num mit 6 initialisiert. In der Schleife verringern wir num zunächst um 1 und geben dann den letzten Wert von num aus. Die Schleife wird so lange ausgeführt, wie der Wert von num größer oder gleich 1 ist. Wenn num zu 3 wird, gibt das Skript den Wert von num nicht aus, da wir die continue-Anweisung haben, wenn num gleich 3 ist.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn