Bash während der Schleife mit Beispielen

Bash während der Schleife mit Beispielen

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 werden
1234wä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)) erledigt
123456count = 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 gemacht
12345Antwort = "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 wird
12345678910count = 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)) fertig
1234567891011count = 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 < $filename
123456789#!/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)) erledigt
1234567891011x = 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.