Top 10 coole und fantastische Bash -Loop -Beispiele

Top 10 coole und fantastische Bash -Loop -Beispiele
In der Programmiersprache gibt es hauptsächlich drei Arten von Schleifen (für, während und bis). Alle drei Arten von Schleifen sind auf unterschiedliche Weise wichtig. Es gibt keinen großen Unterschied zwischen der Zeit und bis zu Loops, aber für Schleife funktioniert ganz anders als diese beiden. Aus diesem Grund können Sie diese Schleifen verwenden, um interaktive Skripte als Bash -Benutzer zu erstellen.

Durch das Lernen von Bash -Beispielen können Sie Ihre Fähigkeiten beim Erstellen von Skripten verbessern. In diesem Tutorial werden wir also 10 Beispiele für coole und fantastische Bash -Loop -Beispiele enthalten, die Sie versuchen können, Ihre Skriptfähigkeiten zu verbessern.

10 coole und fantastische Bash -Loop -Beispiele

In diesem Abschnitt werden wir verschiedene Beispiele und die Ansätze erläutern, die wir in den Schleifen verwendet haben.

SEQ -Befehl mit Schleife in Bash

Sie können den SEQ -Befehl in der for -Schleife verwenden, um die Abfolge von Zahlen zu erstellen. Zum Beispiel haben Sie eine Bash -Skript: "Datei" Datei ".sh ”, das den folgenden Code enthält:

#!/Bin/Bash
für a in $ (SEQ 5 2 25)
Tun
echo "Anzahl von $ a are" "
Erledigt

Sie erhalten das folgende Ergebnis, nachdem Sie das Skript im Terminal ausgeführt haben:

./Datei.Sch

Dateien mithilfe der Schleife umbenennen

Mithilfe eines Bash -Skripts können Sie mit den für Loops mehrere Dateien umbenennen. Zum Beispiel haben Sie mehrere .TXT -Dateien und möchten das aktuelle Datum mit dem Namen hinzufügen. Hier ist also das Beispielskript, das Sie verwenden können:

#!/Bin/Bash
für x in $ (ls *.txt); Tun
MV $ x $ (BASENAME $ x .txt) _ $ (Datum +%d%m).txt
Erledigt

Jetzt können Sie das Skript ausführen und es wird den Namen aller ändern .TXT -Dateien durch Hinzufügen des aktuellen Datums:

./Meine Datei.Sch


In ähnlicher Weise können Sie die Erweiterungen einer Datei durch ein einzelnes Skript ändern. Also lasst uns die ändern .TXT -Erweiterung in .SH durch das folgende Skript:

#!/Bin/Bash
für x in *.txt; Tun
MV - "$ x" "$ x%.txt.Sch"
Erledigt

Nachdem Sie das Skript im Terminal ausgeführt haben, erhalten Sie das .sh und nicht .TXT -Dateien:

./Meine Datei.Sch

Unendlich für die Schleife in Bash

Wenn in der Schleife keine Kündigungsbedingung definiert wird, wird sie als unendliche Schleife bezeichnet. In diesem Beispiel einer Bash -Schleife werden wir uns die Unendliche für die Schleife in Bash ansehen. Das folgende Unendliche für die Schleife wird durch ein doppeltes Semikolon (;;) definiert und enthält keine anfänglichen Aktions- oder Terminierungsteile.

Das folgende Skript wird fortgesetzt, bis Sie Strg+C drücken oder als Eingabe „beenden“ eingeben. Dieses Skript druckt jede Zahl von 10 bis 50, die als Eingabe angegeben sind. Andernfalls wird die Nummer aus der Reichweite gedruckt.”

#!/Bin/Bash
#Endlosschleife
für (( ; ; ))
Tun
Echo "Geben Sie eine Zahl zwischen 10 und 50 ein" ein "
Lesen n
Wenn [$ n == "beenden"]
Dann
echo "gekündigt"
beenden 0
fi
if ($ n < 10 || $n > 50)))
Dann
echo "Die Zahl ist außerhalb des Bereichs"
anders
echo "Die Nummer ist $ n"
fi
Erledigt

Wir gaben 45 und 23 gültige Eingaben für das obige Skript. Danach drucken wir 2 als Eingabe, die in der Ausgabe mitteilt, dass „die Zahl außerhalb des Bereichs ist.Um das Skript zu schließen, tippen wir als Eingabe beendet. Hier können Sie auch Strg+C drücken, um die unendliche Schleife zu beenden.

Drei Ausdrucksschleife in Bash

Aus dem Namen der Drei-Expressions-Schleife ist es bekannt, dass es drei Ausdrücke umfasst, auch als Kontrollausdrücke bezeichnet. Der erste Ausdruck (Exp1) ist der Initialisierer, der zweite Ausdruck (Exp2) ist der Schleifentest oder der Zustand, und der dritte Ausdruck (Exp3) ist der Zählausdruck/der Zähl -Ausdruck/der Schritt. Lassen Sie uns eine Drei-Expressions-Schleife in Bash durchführen:

#!/Bin/Bash
für ((n = 5; n> = 1; n--))
Tun
Echo "Buch $ n"
Erledigt

Wenn Sie das obige Skript ausführen, erhalten Sie die folgende Ausgabe.

Schleife mit mehreren Bedingungen

Wir haben die bis zur Schleife mit mehreren Bedingungen im folgenden Bash -Schleifenbeispiel verwendet. In diesem Skript haben wir "M" und "N" zwei Variablen genommen, deren Werte 20 bzw. 10 sind, und die Grenze von 15 behalten. Hier setzen wir "M" und "n" Bedingungen in der Schleife zusammen, in der die Schleife läuft, bis der Wert von "M" geringer ist als die Grenze und "n" mehr als die Grenze ist.

#!/Bin/Bash
Limit = 15
M = 20
n = 10
bis [[$ m -lt $ limit || $ n -GT $ limit]];
Tun
echo "wenn m = $ m dann n = $ n"
((M--))
((n ++))
Erledigt

Sie können sehen, dass das Ausführen des oben genannten Skripts ausgeführt wird, bis die Werte von „M“ und „N“ auf die gleiche Ebene kommen.

Datei in Bash lesen

In Bash können Sie den Inhalt einer Datei auf verschiedene Weise lesen. In diesem Beispiel von Bash Loop lesen wir den Inhalt der Datei über den Dateinamen. Wir können das folgende Skript verwenden, um die Datei in Bash zu lesen:

#!/Bin/Bash
Echo "Inhalt der eingegebenen Datei ist:"
während
Zeile lesen
Tun
Echo $ line
Erledigt <~Documents/Linuxhint.txt

Nach dem Ausführen des obigen Skripts können Sie den vollständigen Inhalt der eingegebenen Datei lesen.

Schreiben in eine Datei

Sie können die Schleifen im Skript verwenden, um eine Datei direkt vom Terminal aus zu bearbeiten. Zum Beispiel, wenn wir eine TXT -Datei haben “Beispiel“.txt “und wir möchten einige Informationen hinzufügen, dann können wir das folgende Skript verwenden:


Wenn Sie das obige Skript ausführen, werden Sie aufgefordert, die Details einzugeben:


Sobald Sie die Details eingegeben haben, speichern Sie die Datei und Strg + z, um den Prozess erfolgreich zu beenden.

Brechen Sie und fordern Sie die Statement -Schleife in Bash fort

In Bash können Sie Ihre Schleifenanweisung nach der Pause fortsetzen. Die Break -Erklärung verlässt die Schleife und übergibt dann die Kontrolle an die nächste angegebene Anweisung. Iterations Nummer zwei beginnt, nachdem die aktuelle Iteration mit derselben Anweisung übersprungen wurde.

#!/Bin/Bash
Num = 16
bis falsch
Tun
((num--))
if [[$ num -eq 13]]
Dann
weitermachen
Elif [[$ num -le 4]]
Dann
brechen
fi
echo "LinuxHint = $ num"
Erledigt

Im folgenden Bash -Skript können Sie sehen, dass die „Num“ gleich 13 den Rest des Schleifenkörpers überspringt und zur nächsten Iteration springt. In ähnlicher Weise wird die Schleife brechen, wenn „Num“ kleiner oder gleich 4 ist.


Das obige Skript zeigt, dass die Schleife bei 15 beginnt, bei 13 bricht und bis 5 dauert.

Berechnung eines Durchschnitts in Bash

Sie können den Durchschnitt berechnen, indem Sie das Skript in einer Bash -Schleife ausführen. Darin kann der Benutzer den Durchschnitt der Zahlen innerhalb eines definierten Bereichs berechnen. Das folgende Skript berechnet den Durchschnitt der vom Benutzer bereitgestellten Eingaben.

#!/Bin/Bash
Marks = "0"
Durchschnitt = "0"
Sum = "0"
Num = "0"
während wahr; Tun
Echo -n "Geben Sie Ihre Markierungen ein, um den Durchschnitt zu berechnen, oder drücken Sie 'Q', um abzubrechen/zu beenden:"; Markierungen lesen;
wenn ["$ marks" = "q"]; Dann
Echo "Durchschnittliche Markierungen sind: $ durchschnitt"
brechen
elif ["$ marks" -Lt 50] || ["$ marks" -Gt 100]; Dann
Echo "Marken sollten zwischen 50 und 100 liegen. Bitte geben Sie Ihre Marken ein: "
anders
Sum = $ (($ sum + $ marks))
Num = $ (($ num + 1))
Durchschnitt = $ (($ sum / $ num))
fi
Erledigt

Wenn die Eingabe nicht innerhalb des Bereichs liegt, wird eine Nachricht gedruckt, dass „Bitte Ihre Marken eingeben."Wenn der Benutzer nach Eingabe aller Markierungen auf" Q "drückt, berechnet das Skript den ungefähren Durchschnitt aller eingegebenen Zahlen.

Wenn das obige Skript ausgeführt wird, ist Ihre Ausgabe so etwas wie diese.

Lesen Sie die Befehlszeilenargumente in Bash

In Bash können Sie einzelne Befehlszeilenargumente mit Schleifen lesen. Das Skript druckt die formatierten Argumentwerte. Wir führen die Befehlszeilenargumente in Bash mit einer Weile -Schleife im folgenden Skript aus. Dadurch drucken Sie den Wert, der den Argument Value Value Gültiges Option mit Hilfe eines einzelnen Befehls übergeben.

#!/Bin/Bash
Während GetOpts n: f: m: opt
Tun
Fall "$ opt" in
N) name = $ optarg ;;
F) fathername = $ optarg ;;
M) Muttername = $ optarg ;;
*) Echo "ungültig"
Ausgang 1 ;;
ESAC
Erledigt
printf "Name: $ Name \ nFather Name: $ Fathername \ nmother Name: $ Muttername \ n"


Daher können Sie die formatierten Argumentwerte in die Ausgabe drucken, indem Sie das obige Skript in einer Bash ausführen.

Einpacken

Dies waren also die kurzen Informationen zu den 10 coolen und fantastischen Bash -Loop -Beispielen, die Sie lernen können. Wir haben verschiedene Arten von Schleifen verwendet, um das interaktive Skript leicht zu erstellen. Darüber hinaus haben wir auch die grundlegenden Ansätze erklärt, die in den obigen Beispielen verwendet werden. Wenn Sie ausführliche Details zu den Loops in Bash haben, besuchen Sie bitte unsere offizielle Website, um mehr zu erfahren.