Übersicht über For Loop in Shell Scripting
Nehmen wir an, wir möchten in dieser Shell-Skript-Schleife eine Aufgabe oder einen Vorgang wiederholt ausführen und können denselben Code so oft schreiben, wie dies eine zeitaufwendige und nicht effiziente Aufgabe ist. Um solche Szenarien zu vermeiden, können wir Schleifen wie for loop in einer Programmiersprache verwenden. Die for-Schleife wird also verwendet, um eine bestimmte Aufgabe wie Addition / Multiplikation oder eine andere Operation für eine bestimmte Anzahl von Malen auszuführen, bis die Beendigungsbedingung in einem Betriebssystem erfüllt ist. Wir müssen nicht immer wieder denselben Code mit der for-Schleife schreiben.
Syntax der for-Schleife
Die Syntax der for-Schleife in Shell-Skripten kann folgendermaßen dargestellt werden:
1. Erste Syntaxmethode
for var in list
do
command1
command2
done
Aus dem obigen Beispiel haben wir vordefinierte Schlüsselwörter oder integrierte Schlüsselwörter wie for, do, done und in. Dabei ist list eine Liste von Variablen oder eine Liste von Wörtern oder eine Liste von Zahlen und var ist ein Variablenname während dieser Iteration. Wenn keine Liste angegeben ist, nimmt bash einen Positionsparameter an, den wir in der Shell übergeben haben. In der obigen for-Schleife werden alle Befehle ausgeführt, die zwischen do und done liegen, wobei n die Größe der Liste ist. Wenn zum Beispiel die Größe der Liste 5 mit Zahlen von 1 bis 5 ist, wird während der ersten Iteration 1 in var gespeichert, und Operationen an var werden vom Hauptteil der for-Schleife ausgeführt, in der sich Befehle befinden.
2. Zweite Syntaxmethode
for ( ( expr1; expr2; expr3 ))
do
command1
command2
….
done
In der obigen Syntax ähnelt diese Syntax der Syntax von for loop in der Programmiersprache c. In der for-Schleife gibt es drei Ausdrücke, wobei der erste Ausdruck zur Initialisierung, der zweite zur bedingten Prüfung und der dritte zur Aktualisierung des Iterators dient. Die Ausführung in der obigen for-Schleife beginnt wie folgt, bevor die erste Iteration ausgeführt wird. Expr1 bedeutet, dass die Initialisierung erst dann ausgeführt wird, wenn Operationen / Befehle zwischen do und done iterativ ausgeführt werden, bis expr2 den Wert true ergibt, und nach jeder Iteration wird expr3 den Wert aktualisiert Iteratorwert (Zähler), damit Operationen für das nächste Element oder den nächsten Wert in der Liste oder dem Array oder der Zeichenfolge ausgeführt werden.
Flussdiagramm - For-Schleife in Shell Scripting
Betrachten wir ein Beispiel für eine for-Schleife und diskutieren den Ablauf anhand des Ablaufdiagramms.
for filename in *.dat
do
echo cp $fname orig_$fname
done
Im obigen Ablaufdiagramm wird der Ablauf der for-Schleife erläutert, die über eine Liste von Dateinamen iteriert, und es gibt vier Schritte im Ablauf, z. B. Prozessablauf, variabler Wert, Prozess und Standardausgabe. Im Prozessablauf wird erläutert, wann die for-Schleife startet, der Iteratorwert, die Bedingung überprüft, ob sie erfüllt ist, und dann der Prozess ausgeführt, andernfalls der Prozess beendet. Bei variablen Werten erhalten wir Iteration für Iteration einen Dateinamen, z. B. textfile.dat, und führen während des Vorgangs eine Echo-Anweisung aus, in der die Kopieranweisung mit einem alten Dateinamen und einem neuen Dateinamen auf stdout angezeigt wird. Dies ist also der Ablauf der for-Schleife, die über die Liste der Eingabedateinamen iteriert.
Ausgabe:
Wie funktioniert for Loop in Shell Scripting?
For-Schleife im Shell-Skript funktioniert folgendermaßen, wenn Shell das Schlüsselwort sieht und weiß, dass es eine Reihe von Befehlen einmal für jedes Element in einer Liste wiederholen muss. Jedes Mal, wenn eine Iteration ausgeführt wird, wird ein Element in der Liste der Variablen var zugewiesen und die var wird durch die Liste der Befehle verarbeitet, die in der Schleife zwischen "do" und "done" vorhanden sind, bevor zum nächsten Element in der Liste oder zur nächsten Iteration übergegangen wird. Wir greifen mit $ vor der Variablen auf den Wert in der Variable zu, sodass der Wert in der Variablen beim Verarbeiten durch ein Shell-Skript ersetzt wird.
Beispiel:
for filename in *.txt
do
ls filename
done
Im obigen Programm übergeben wir eine Liste von TXT-Dateien als Eingabe in die for-Schleife, und der Variablenname ist ein Dateiname, in dem TXT-Dateien gespeichert werden, und verarbeiten dann den Dateinamen, indem die TXT-Datei im Dateinamen und dann aufgelistet wird Der gleiche Vorgang wird wiederholt, bis alle TXT-Dateien verarbeitet wurden.
Ausgabe:
Beispiele für for-Schleife
Bisher haben wir diskutiert, wie for loop in Shell-Skripten und verschiedenen Syntaxen funktioniert. Sehen wir uns nun einige Beispiele an und gehen sie durch und erklären jedes einzelne Beispiel, was es tut
Beispiel 1
Lassen Sie uns eine Liste der statischen Werte als Eingabe für die for-Schleife erstellen und sehen Sie, wie sie ausgeführt wird:
for a day in Fri Thu Wed Tue Mon
do
echo “Todays day is $day”
done
Im obigen Beispiel sollten wir keine Eingabewerte mit übergeben, da als Trennzeichen, wenn wir übergeben, berücksichtigt wird, dass das Trennzeichen auch ein Wert wie „Fri“ ist, und wir sollten keine Werte in doppelten Anführungszeichen auflisten, „wenn wir sie mit doppelten Anführungszeichen übergeben, Shell-Skript behandelt alle Werte als einen einzigen Wert.
Ein Beispiel o / p: Der heutige Tag ist: Fr Do Mi Di Mo (wenn wir doppelte Anführungszeichen verwenden)
Ausgabe:
Beispiel # 2
Nun sehen wir uns ein weiteres Beispiel an, in dem wir vor der Eingabeliste mit for verwenden:
Month = “Jan Feb Mar Apr May Jun”
for mon in $Month
do
echo “Month is $mon”
done
Im obigen Beispiel wird die gleiche for-Schleife wie im obigen Beispiel ausgeführt, aber anstelle der Eingabe wird das Lesen der Liste mit dem Schlüsselwort "in" durchgeführt. Bei der Shell-Skripterstellung muss jede Variable in doppelten Anführungszeichen dargestellt werden. Es gibt jedoch nur wenige Ausnahmen. Wenn wir beispielsweise für die Schleifenzeile oben in $ Month doppelte Anführungszeichen verwenden, werden ganze Wörter als einzelne Zeile behandelt. Also müssen wir uns darum kümmern.
Ausgabe:
Beispiel # 3
Jetzt schreiben wir for loop ohne Eingabeliste in die for loop-Anweisung, stattdessen werden Eingaben von Positionsargumenten in das Skript und in das folgende Beispiel übernommen:
Lassen Sie uns den Namen des Shell-Skripts als sample.sh und seinen Inhalt wie folgt angeben:
for num
do
echo “Number is $num”
done
./sample.sh 1 2 3 4 5
Im obigen Beispiel wird die Eingabe für die for-Schleife aus der Liste der Argumente an das Skript übergeben, sodass für jedes Argument alle Befehle verarbeitet und die Ausgabe angezeigt wird, bis alle Argumente durchlaufen wurden.
Ausgabe:
Fazit - For-Schleife in Shell Scripting
Schließlich dreht sich alles um die Shell-Skripting-Schleife. Wir haben besprochen, was für eine Schleife in Shell-Skripten ist, für die Schleifensyntax, ihr Ablaufdiagramm, das den Ablauf von for loop erklärt, wie for loop in Shell funktioniert und Beispiele für for loop in Shell-Skripten. Ich hoffe, Sie haben ein gutes Verständnis der Schleife, wie sie in Shell-Skripten verwendet wird, und führen sie aus, nachdem Sie diesen Artikel gelesen haben.
Empfohlene Artikel
Dies ist eine Anleitung zur For-Schleife in Shell Scripting. Hier diskutieren wir die Einführung, Funktionsweise von for-Schleifen in Shell-Skripten, Ablaufdiagramm und Beispiel für for-Schleifen. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.
- Schleifen in R
- Spark SQL Dataframe
- Mehrdimensionale Datenbank
- Vorteile der Datenvisualisierung