Syntax von while Loop:
während [Zustand]
Tun
Befehle
Erledigt
Der Start- und Endblock von Die Weile Schleife ist definiert durch Tun Und Erledigt Schlüsselwörter im Bash -Skript. Die Kündigungsbedingung wird zu Beginn der Schleife definiert. Öffnen Sie einen Texteditor, um ein Bash -Skript zu schreiben und die folgenden Beispiele zu testen.
Beispiel-1: Iterieren Sie die Schleife für eine feste Anzahl von Male
Erstellen Sie eine Bash -Datei mit dem Namen während1.Sch mit dem folgenden Inhalt. Hier wird die Schleife 5 Mal iteriert und den Zählerwert in jeder Iteration drucken.
#!/Bin/Bash
# Initialisieren Sie den Zähler
n = 1
# Die Schleife für 5 Mal wiederholen
während [$ n -le 5]
Tun
# Drucken Sie den Wert von n in jeder Iteration
echo "$ n time" echo
# Inkrementieren Sie den Wert von N um 1
((n ++))
Erledigt
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.
Beispiel 2: Verwenden der Break-Anweisung für das bedingte Ausgang
die Pause Die Anweisung wird verwendet, um aus der Schleife frühzeitig auf der Grundlage einer bestimmten Bedingung zu beenden. Erstellen Sie eine Bash -Datei mit dem Namen während2.Sch mit dem folgenden Code. Hier ist die Schleife 10 Mal so definiert, aber die Iteration wird gestoppt, wenn der Zählerwert 6 beträgt.
#!/Bin/Bash
# Initialisieren Sie den Zähler
n = 1
# Die Schleife 10 Mal wiederholen
während [$ n -le 10]
Tun
# Überprüfen Sie den Wert von n
Wenn [$ n == 6]
Dann
echo "gekündigt"
brechen
fi
# Drucken Sie den aktuellen Wert von n
Echo "Position: $ n"
# Inkrementieren Sie den Wert von N um 1
((n ++))
Erledigt
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.
Beispiel-3: Verwenden Sie die Anweisung, um einen bestimmten Schritt wegzulassen
Erstellen Sie eine Bash -Datei mit dem Namen während3.Sch mit dem folgenden Code. In diesem Beispiel wird die Schleife 5 Mal iteriert, aber nicht alle 5 Positionen drucken. Wenn die Schleife zum dritten Mal iteriert.
#!/Bin/Bash
# Initialisieren Sie den Zähler
n = 0
# Die Schleife für 5 Mal wiederholen
während [$ n -le 5]
Tun
# Inkrementieren Sie den Wert von N um 1
((n ++))
# Überprüfen Sie den Wert von n
Wenn [$ n == 3]
Dann
weitermachen
fi
# Drucken Sie den aktuellen Wert von n
Echo "Position: $ n"
Erledigt
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.
Beispiel-4: Lesen Sie das Befehlszeilenargument mit Optionen
Erstellen Sie eine Bash -Datei mit dem Namen während4.Sch mit dem folgenden Code. Hier wird die Schleife verwendet, um die Befehlszeilenargumente mit Optionen zu lesen. Das Skript druckt die formatierten Argumentwerte nach der Ausführung, wenn die Drei-Argument-Werte mit der gültigen Option bestehen.
#!/Bin/Bash
# Lesen Sie die Werte für Befehlszeilenargumente mit der Option mithilfe der Schleife
Während GetOpts n: a: e: opt
Tun
Fall "$ opt"
In
n) name = $ optarg ;;
a) Adresse = $ optarg ;;
e) E -Mail = $ optarg ;;
*) Echo "ungültige Option"
Ausgang 1 ;;
ESAC
Erledigt
# Drucken Sie die Argumentwerte
printf "Name: $ name \ naddress: $ addres \ nemail: $ e -Mail \ n"
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.
Beispiel-5: Dateizeile nach Zeile lesen
Erstellen Sie eine Bash -Datei mit dem Namen während5.Sch mit dem folgenden Code. Hier wird ein Dateiname im ersten Befehlszeilenargument zur Ausführungszeit angegeben. Wenn die Datei vorliegt, wird der Inhalt der Datei mit der Schleife von Zeile gedruckt. Andernfalls wird eine Fehlermeldung gedruckt.
#!/Bin/Bash
# Überprüfen Sie, ob der Befehlszeilenargumentwert angegeben ist oder nicht
wenn [$# -GT 0]; Dann
# Weisen Sie den Dateinamen vom Comand-Line-Argumentwert zu
Dateiname = $ 1
# Dateizeile nach Zeile lesen
Während der Lesenzeile; Tun
# Drucken Sie jede Zeile aus
Echo $ line
Erledigt < $filename
anders
# Meldung drucken, wenn kein Argument bereitgestellt wird
Echo "Argumentwert fehlt."
fi
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.
Beispiel-6: Schreiben Sie Inhalte in eine Datei
Erstellen Sie eine Bash -Datei mit dem Namen während6.Sch mit dem folgenden Code. Hier wird der Dateiname vom Benutzer entnommen, in dem der Textinhalt geschrieben wird. Der Benutzer muss Strg+D nach dem Eingeben des Inhalts der Datei eingeben.
#! /Bin/Bash
echo -n "Geben Sie den Dateinamen ein, um zu erstellen:"
# Nehmen Sie den Dateinamen, der erstellt wird
Lesen Sie den Dateinamen
# Lesen Sie den Inhalt der Datei aus dem Terminal aus
Während der Lesenzeile
Tun
Echo $ line >> $ Dateiname
Erledigt
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.
Beispiel-7: Erstellen einer unendlichen Schleife
Manchmal ist es erforderlich, eine unendliche Schleife für verschiedene Programmierzwecke zu deklarieren. Erstellen Sie eine Bash -Datei mit dem Namen während7.Sch und testen Sie den Code der unendlichen Schleife. In diesem Beispiel wird für die Schleife keine Kündigungsbedingung festgelegt. Diese Art von Schleife wird als unendliche Schleife bezeichnet. Hier wird eine Exit -Anweisung verwendet, um aus der unendlichen Schleife zu kündigen. Diese Schleife wird also zehnmal iteriert, und wenn der Iterationswert gleich 10 wird, wird die Exit -Anweisung für das Verlassen der Infinite -Schleife ausgeführt.
#!/Bin/Bash
# Initialisieren Sie den Zähler
n = 1
# Eine unendliche Schleife deklarieren
während :
Tun
printf "Der aktuelle Wert von n = $ n \ n"
Wenn [$ n == 3]
Dann
echo "gut"
Elif [$ n == 5]
Dann
echo "schlecht"
elif [$ n == 7]
Dann
echo "hässlich"
elif [$ n == 10]
Dann
beenden 0
fi
# Inkrementieren Sie den Wert von N um 1
((n ++))
Erledigt
# Nehmen Sie den Dateinamen, der erstellt wird
Lesen Sie den Dateinamen
# Lesen Sie den Inhalt der Datei aus dem Terminal aus
Während der Lesenzeile
Tun
Echo $ line >> $ Dateiname
Erledigt
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.
Beispiel-8: Verwenden Sie den C-Stil während der Schleife
Erstellen Sie eine Bash -Datei mit dem Namen während8.Sch mit dem folgenden Code. Hier wurde die WHOS-Schleife in einem C-Format deklariert, das durch 5-fache durch Inkrementierung des Zählerwerts um 10 iteriert wird.
#!/Bin/Bash
# Initialisieren Sie den Zähler
n = 5
# Definieren Sie die Weile im C-Stil
while ((n) <= 50))
Tun
echo $ n
# Inkrementzähler um 10
((n = n+10))
Erledigt
Ausgang:
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt.
Abschluss:
In diesem Tutorial wurden verschiedene Verwendungen der while -Schleife unter Verwendung mehrerer Beispiele erläutert. Ich hoffe.