Bash während der Schleife mit Beispielen
- 1486
- 108
- Janin Pletsch
A während Schleife ist eine grundlegende Kontrollstruktur beim Bash -Skripting, mit dem Sie einen Codeblock wiederholt ausführen können, solange eine bestimmte Bedingung wahr ist. Die while -Loop ist ein wesentliches Werkzeug in der Toolbox eines Bash -Programmierers und wird verwendet, um Aufgaben zu automatisieren, Vorgänge bei Datensammlungen durchzuführen und komplexe Algorithmen zu implementieren.
Beim Bash -Skripting können Loops verwendet werden, um eine Vielzahl von Aufgaben auszuführen, z. Während Schleifen auch häufig in Kombination mit anderen Bash -Kontrollstrukturen verwendet werden, wie z.
In diesem Tutorial werden wir die grundlegende Syntax von WHE -Schleifen in Bash untersuchen und untersuchen, wie sie verwendet werden können, um Aufgaben zu automatisieren und komplexe Algorithmen zu implementieren. Wir werden auch einige gemeinsame Anwendungsfälle und Best Practices für die Arbeit mit Schleifen abdecken und Beispiele für die Verwendung von Schleifen zur Lösung realer Probleme angeben.
Syntax
Eine Zeit. Die Syntax für eine Weile ist wie folgt:
Während der Bedingung # Befehle tun, um ausgeführt zu werden1234 | während ConditionDo # Befehle an executedone |
In diesem Tutorial behandeln wir die Grundlagen der Verwendung von Schleifen in Bash.
Grundlegendes Beispiel
Beginnen wir mit einem einfachen Beispiel. Angenommen, Sie möchten von 1 bis 5 zählen und jede Nummer drucken. Sie können eine Weile verwenden, um dies zu tun, zum Beispiel:
count = 1 während [$ count -le 5] echo $ count count = $ ((count+1)) erledigt123456 | count = 1 Während [$ count -le 5] echo $ count count = $ ((count+1)) erledigt |
In diesem Beispiel haben wir eine Variable namens Count auf 1 initialisiert und dann eine Weile -Schleife verwendet, um den Wert der Anzahl wiederholt zu drucken, solange er weniger als oder gleich 5 ist. In der Schleife drucken wir den Wert der Anzahl mithilfe des Echo -Befehl.
Unter Verwendung einer Bedingung
Die Bedingung in einer Weile kann ein gültiger Bash -Ausdruck sein. Zum Beispiel können Sie eine Bedingung verwenden, die den Wert einer Variablen wie SO testet:
Antwort = "Nein" während ["$ antwort" " != "Ja"] Lesen -P "Möchten Sie fortfahren? (Ja/Nein) "Antwort gemacht12345 | Antwort = "Nein" während ["$ antwort" " != "Ja"] Lesen -P "Möchten Sie fortfahren? (Ja/Nein) "Antwort |
In diesem Beispiel haben wir eine Variable namens Antwort auf "Nein" initialisiert und dann eine Weile Schleife verwendet, um den Benutzer wiederholt zu fordern, „Ja“ oder „Nein“ einzugeben, bis der Benutzer in „Ja“ eingibt, eingibt. In der Schleife verwenden wir den Befehl read, um eine Eingabezeile vom Benutzer zu lesen und dann zu testen, ob der Wert der Antwort mithilfe der ["$ Antwort" "Ja" ist, ist "Ja" != "Ja"] Syntax.
Verwenden der Break -Anweisung
Sie können die Break -Anweisung verwenden, um eine Weile Schleife vorzeitig zu beenden. Zum Beispiel:
count = 1 während [$ count -le 10] tun, wenn [$ count -eq 5] dann fi echo $ count Count = $ ((count+1)) erledigt wird12345678910 | count = 1 Während [$ count -le 10] tun, wenn [$ count -eq 5] dann fi echo $ count Count = $ ((count+1)) erledigt wird |
In diesem Beispiel haben wir eine Weile Schleife verwendet, um von 1 bis 10 zu zählen und jede Nummer zu drucken. Wir haben jedoch auch eine IF -Anweisung in der Schleife aufgenommen, die testet, ob der Wert der Anzahl gleich 5 ist. Wenn ja, verwenden wir die Break -Anweisung, um die Schleife zu verlassen. Infolgedessen druckt diese Schleife nur die Zahlen 1 bis 4.
Verwenden Sie die Anweisung für Fortsetzung
Sie können die Anweisung für Fortsetzung verwenden, um zur nächsten Iteration einer Weile -Schleife zu überspringen. Zum Beispiel:
count = 1 während [$ count -le 5] to if [$ count -eq 3], dann count = $ ((count+1)) Fortsetzung fi echo $ count count = $ ((count+1)) fertig1234567891011 | count = 1 the [$ count -le 5] do if [$ count -eq 3], dann count = $ ((count+1)) Fortsetzung fi echo $ count count = $ ((count+1)) fertig |
In diesem Beispiel haben wir eine Weile Schleife verwendet, um von 1 bis 5 zu zählen und jede Nummer zu drucken. Wir haben jedoch auch eine IF -Anweisung in der Schleife aufgenommen, die testet, ob der Wert der Anzahl gleich 3 ist. Wenn dies der Fall ist, verwenden wir die Anweisung weiter, um zur nächsten Iteration der Schleife zu überspringen. Infolgedessen druckt diese Schleife die Nummern 1, 2, 4 und 5, überspringt jedoch die Nummer 3.
Lesen Sie die Dateizeile nach Zeile
Ein allgemeiner Anwendungsfall für während Schleifen in Bash ist das Lesen und Verarbeiten von Dateien. Sie können eine Weile -Schleife verwenden, um jede Zeile einer Datei zu lesen und einen Operation auszuführen. Hier ist ein Beispiel:
#!/bin/bash fileName = "Beispiel.TXT "Während der LEAD -Zeile do echo" Verarbeitungszeile: $ line " # Fügen Sie Ihren Code hinzu, um die Zeile hier zu verarbeiten < $filename123456789 | #!/bin/bash fileName = "Beispiel.TXT "Während gelesen Linedo Echo" Verarbeitungszeile: $ line " # Fügen Sie Ihren Code hinzu, um die Zeile Heredone zu verarbeiten < $filename |
In diesem Beispiel definieren wir einen variablen Dateinamen, der den Namen der Datei enthält, die wir lesen möchten. Wir öffnen dann eine Weile Schleife mit dem Befehl read. Es wird eine Zeile aus der Datei lesen und sie mit bestimmten Anweisungen verarbeiten.
Im Schleifen verschachtelt
Sie können auch nisten, während sie ineinander sind, um komplexere Schleifen zu erstellen. Zum Beispiel:
x = 1 während [$ x -le 3] do y = 1 während [$ y -le 3] echo "($ x, $ y)" y = $ ((y+1)) erledigt x = $ (((((((( x+1)) erledigt1234567891011 | x = 1 Während [$ x -le 3] do y = 1, während [$ y -le 3] echo do echo "($ x, $ y)" y = $ ((y+1)) erledigt x = $ ((x) +1)) erledigt |
In diesem Beispiel haben wir eine Weile die Schleife verwendet, um von 1 bis 3 zu zählen und jede Nummer zu drucken, und dann eine andere verschachtelt, während sie in der Schleife von 1 bis 3 zählen und jede Nummer erneut drucken. Infolgedessen druckt diese Schleife die folgende Ausgabe aus:
Ausgang (1, 1) (1, 2) (1, 3) (2, 1) (2, 2) (2, 3) (3, 1) (3, 2) (3, 3)
Abschluss
Während Schleifen ein leistungsstarkes Werkzeug in Bash sind, mit dem Sie Befehle wiederholen können, solange eine bestimmte Bedingung wahr ist. Indem Sie die Grundlagen von Schleifen beherrschen, können Sie komplexere Skripte erstellen und gemeinsame Aufgaben automatisieren.