Einführung
Die continue
statement ist ein Bash-Builtin, das den Ablauf von Skriptschleifen verändert. Das Konzept ist nicht einzigartig für Bash und erscheint in anderen Programmiersprachen.
Der beste Weg, um zu verstehen, wie die Bash continue
Aussage funktioniert anhand von praktischen Beispielen.
Dieses Tutorial zeigt, wie man die Bash continue
verwendet -Anweisung in Bash-Skripten.

Voraussetzungen
- Eine Maschine, auf der Linux oder macOS ausgeführt wird.
- Ein Texteditor für die Beispiele.
- Grundkenntnisse der Bash-Skripterstellung.
Die Bash-Anweisung Continue
Die Bash continue
-Anweisung setzt die folgende Iteration in einer Schleife oder Schleifenanweisung fort.
Die Syntax lautet:
continue <integer>
Die continue
-Anweisung hat nur eine Bedeutung, wenn sie auf Schleifen angewendet wird. Der ganzzahlige Wert gibt die Tiefe für das continue
an Erklärung. Standardmäßig ist die Ganzzahl 1
und das Schreiben der Nummer ist nicht obligatorisch. Erhöhen Sie die Zahl, um eine äußere Schleifenanweisung fortzusetzen.

Verwenden Sie ein continue
-Anweisung als Schleifensteuerungsanweisung. Beispiel:continue
-Anweisung hilft, die aktuelle Iteration innerhalb einer Schleife zu beenden, wenn eine bestimmte Bedingung erfüllt ist. Je nach Schleifentyp wird das Programm bei der nächsten Iteration fortgesetzt oder die Schleife neu gestartet.
Bash Continue-Beispiele
Nachfolgend finden Sie Beispiele und Erläuterungen zur Arbeit mit der Continue-Anweisung in Bash-Skripten.
Die folgenden primären Schleifenkonstrukte zeigen, wie die Anweisung funktioniert:
- Die for-Schleife wird bei der nächsten Iteration fortgesetzt, wenn sie mit Continue kombiniert wird.
- Die Continue-Anweisung startet das
while
neu unduntil
Schleifen.
Die select
Der Befehl erscheint auch in den Beispielen, obwohl es sich nicht um ein primäres Schleifenkonstrukt handelt. Die Anweisung funktioniert als Schleife, und die continue
Anweisung funktioniert für jeden Schleifenbefehl.
Mit Bash mit einer for-Schleife fortfahren
Verwenden Sie continue
-Anweisung in einem bedingten if, um den Fluss eines for
zu steuern :
#!/bin/bash
for i in {1..10}
do
if [[ $i == '9' ]]
then
echo "Number $i!"
continue
fi
echo "$i"
done
echo "Done!"

Der Code macht Folgendes:
- Zeile 3 startet den
for
Schleifenbedingung, iteriert die Variablei
von1
bis10
. - Zeile 5 überprüft das
i
Wert. Wenn die Variable gleich9
ist , gibt das Programm eine Nachricht zurück und startet die Schleife bei der nächsten Iteration neu (Zeile 3 ). - Zeile 10 gibt die Zahl nur dann auf der Konsole aus, wenn die bedingte Anweisung in Zeile 5 ist Falsch .
Führen Sie das Skript aus, um die Ergebnisse anzuzeigen.

Die Ausgabe gibt alle einzelnen Zahlen an die Konsole aus. Wenn die Bedingung in Zeile 5 zu True ausgewertet wird ($i == '9'
), gibt die Konsole eine Nachricht zurück.
Mit Bash mit verschachtelter Schleife fortfahren
Die continue
-Anweisung arbeitet mit verschachtelten Schleifen auch. Verwenden Sie beispielsweise continue 2
um eine äußere Schleife fortzusetzen:
#!/bin/bash
for i in {1..5}
do
for j in {1..5}
do
if [[ $i -eq $j ]]
then
echo "$i = $j"
continue 2
fi
echo "$i =/= $j"
done
done
echo "Done!"

Das Programm macht folgendes:
- Zeile 3 startet die äußere Schleife und erhöht die Variable
i
von1
bis5
. - Zeile 5 startet eine innere for-Schleife und erhöht die Variable
j
von1
bis5
für jedesi
erhöhen. - Zeile 7 prüft, ob die Variablen
i
undj
gleich sind ($i -eq $j
). Wenn dies der Fall ist,continue 2
-Anweisung setzt die äußere Schleife bei der nächsten Iteration fort. Wenn die Werte jedoch unterschiedlich sind, wird das Programm wie erwartet fortgesetzt.
Führen Sie das Skript aus, um die Programmausgabe anzuzeigen.

Jedes Mal, wenn die beiden Werte gleich sind, erhöht sich die erste Zahl.
Mit Bash mit einer While-Schleife fortfahren
Unten sehen Sie ein Bash-Beispielskript, das den <strong>continue</strong>
verwendet -Anweisung in einem while
Schleife:
#!/bin/bash
i=0
while [[ $i -lt 11 ]]
do
if [[ "$i" == '9' ]]
then
echo "Number $i!"
((i++))
continue
fi
echo $i
((i++))
done

Jede Zeile macht Folgendes:
- Zeile 3 definiert eine Variable
i
und setzt den Wert auf0
. - Zeile 5 initiiert ein
while
Schleife. Die Endbedingung ist wenni
ist kleiner als11
. - Zeile 7 gibt eine Bedingungsprüfung mit einem
if
an Erklärung. Wenn die Variablei
entspricht9
, fährt das Programm mit den Zeilen 9-11 fort . In allen anderen Fällen springt der Code zu Zeile 13 . - Zeilen 9-11 Geben Sie eine Nachricht an die Konsole aus, erhöhen Sie
i
, undcontinue
-Anweisung setzt die Schleife bei Zeile 5 fort . - Zeile 13 und 14 gibt die Variable
i
aus zur Konsole und erhöhen Sie sie.
Führen Sie das Skript vom Terminal aus, um die Ausgabe anzuzeigen.

Das Programm gibt alle Zahlen auf der Konsole aus. Aufgrund der Bedingungs- und Continue-Anweisungen wird für die Nummer 9
eine andere Meldung ausgegeben .
Mit Bash mit einer until-Schleife fortfahren
Kombinieren Sie continue
Anweisung mit einem until
Schleife und stellen eine Bedingung bereit, um das Schleifenverhalten für einen bestimmten Wert zu ändern. Versuchen Sie beispielsweise das folgende Skript:
#!/bin/bash
i=0
until [[ $i -gt 10 ]]
do
if [[ $i -eq 9 ]]
then
echo "Number $i!"
((i++))
continue
fi
echo $i
((i++))
done

Der Code erhöht eine Variable und macht eine Schleife, bis der Wert 10
erreicht . Wenn die Variable gleich 9
ist , gibt das Programm eine andere Meldung aus. Die continue
-Anweisung startet until
neu Schleife und fährt wie gewohnt fort.
Mit Bash mit einer ausgewählten Schleife fortfahren
Die select
command ist ein Sonderfall, da es sich nicht um eine primäre Bash-Skriptschleife handelt. Der Befehl erstellt Menüs, die eine Benutzereingabe erfordern. Verwenden Sie continue
-Anweisung, um basierend auf dem vom Benutzer ausgewählten Wert eine andere Ausgabe bereitzustellen.
Versuchen Sie als Beispiel das folgende Bash-Skript:
#!/bin/bash
PS3="Choose a number: "
select i in {1..10}
do
echo "Selected number: $i"
if [[ $REPLY -eq 9 ]]
then
echo "Number $i!"
continue
fi
done

Das Skript besteht aus den folgenden Elementen:
- Die
PS3
in Zeile 3 ist die Displaymeldung fürselect
Schleife. - Zeile 5 definiert die Schleifenbedingung und listet Zahlen ab
1
auf bis10
. Die Variablei
speichert die Benutzereingaben. - Zeile 7 gibt die Auswahl wieder.
- Zeile 8 führt eine Überprüfung durch. Wenn der Benutzereingabewert
9
ist , gibt das Programm eine Nachricht an die Konsole aus und fährt mit derselect
fort Schleife bei der nächsten Iteration.
Führen Sie das Skript aus und testen Sie es auf verschiedene Werte, um die Ausgabe anzuzeigen.

Um das Programm zu beenden, drücken Sie STRG +C oder fügen Sie eine Break-Anweisung hinzu.