logo

Bash For-Schleife

In diesem Thema werden wir die Verwendung von verstehen for-Schleife in Bash-Skripten.

Wie jede andere Programmiersprache unterstützt auch Bash-Shell-Skripting „for-Schleifen“, um sich wiederholende Aufgaben auszuführen. Es hilft uns, einen bestimmten Satz von Anweisungen über eine Reihe von Wörtern in einer Zeichenfolge oder Elemente in einem Array zu iterieren. Beispielsweise können Sie entweder einen UNIX-Befehl (oder eine UNIX-Aufgabe) mehrmals ausführen oder einfach die Liste der Befehle mithilfe einer „for-Schleife“ lesen und verarbeiten.

Syntax der For-Schleife

Wir können die „for-Schleife“ auf zwei Arten auf ein Bash-Skript anwenden. Eine Möglichkeit ist „for-in“ und eine andere Möglichkeit ist die Syntax im C-Stil. Im Folgenden finden Sie die Syntax der „for-Schleife“ in der Bash-Shell-Skripterstellung:

 for variable in list do commands done 

Oder

 for (( expression1; expression2; expression3 )) do commands done 

Es gibt einige wichtige Punkte der „for-Schleife“-Anweisung:

  • Jeder Block der „for-Schleife“ in der Bash beginnt mit dem Schlüsselwort „do“, gefolgt von den Befehlen innerhalb des Blocks. Die „for-Schleife“-Anweisung wird mit dem Schlüsselwort „done“ geschlossen.
  • Die Dauer der Iteration einer „for-Schleife“ hängt von den deklarierten Listenvariablen ab.
  • Die Schleife wählt ein Element aus der Liste aus und weist den Wert einer Variablen zu, die in der Schleife verwendet wird.
  • Nach der Ausführung der Befehle zwischen „do“ und „done“ geht die Schleife zurück nach oben und wählt das nächste Element aus der Liste aus und wiederholt den gesamten Vorgang.
  • Die Liste kann durch Leerzeichen getrennte Zahlen, Zeichenfolgen usw. enthalten.

Im Folgenden werden einige Beispiele für „for-Schleifen“ aufgeführt, um ihre Funktionsweise zu veranschaulichen:

Einfaches Beispiel für eine „For-Schleife“.

Bash-Skript

 #!/bin/bash #This is the basic example of 'for loop'. learn='Start learning from Javatpoint.' for learn in $learn do echo $learn done echo 'Thank You.' 

Ausgabe

Bash For-Schleife

For-Schleife zum Lesen eines Bereichs

Bash-Skript

 #!/bin/bash #This is the basic example to print a series of numbers from 1 to 10. for num in {1..10} do echo $num done echo 'Series of numbers from 1 to 10.' 

Ausgabe

Bash For-Schleife

For-Schleife zum Lesen eines Bereichs mit Inkrement/Dekrement

Wir können einen angegebenen Wert erhöhen oder verringern, indem wir zwei weitere Punkte (..) und den schrittweisen Wert hinzufügen, z. B. {START..END..INCREMENT}. Schauen Sie sich das folgende Beispiel an:

Für Inkrement

 #!/bin/bash #For Loop to Read a Range with Increment for num in {1..10..1} do echo $num done 

Ausgabe

Bash For-Schleife

Zur Abnahme

 #!/bin/bash #For Loop to Read a Range with Decrement for num in {10..0..1} do echo $num done 

Ausgabe

Bash For-Schleife

For-Schleife zum Lesen von Array-Variablen

Wir können die „for-Schleife“ verwenden, um die Werte eines Arrays zu iterieren.

Was ist ein Android-Osterei?

Die Syntax kann wie folgt definiert werden:

 array=( 'element1' 'element 2' . . 'elementN' ) for i in '${arr[@]}' do echo $i done 

Ausgabe

Für jedes Element im „Array“ werden die Anweisungen oder Befehlssätze von „do“ bis „done“ ausgeführt. Auf jedes Element kann innerhalb der Schleife für die jeweilige Iteration als „i“ zugegriffen werden. Schauen Sie sich das folgende Beispiel an, das die Verwendung der „for-Schleife“ zum Durchlaufen von Elementen eines Arrays erklärt:

Bash-Skript

 #!/bin/bash #Array Declaration arr=( 'Welcome''to''Javatpoint' ) for i in '${arr[@]}' do echo $i done 

Ausgabe

Bash For-Schleife

For-Schleife zum Lesen von Leerzeichen in String als Worttrennzeichen

Die Syntax kann wie folgt definiert werden:

 #!/bin/bash for word in $str; do done 

Hier, str bezieht sich auf eine Zeichenfolge.

Die Anweisungen von „do“ bis „done“ werden für jedes „Wort“ einer Zeichenfolge ausgeführt. Schauen Sie sich das folgende Beispiel an:

Bash-Skript

 #!/bin/bash #For Loop to Read white spaces in String as word separators str='Let's start learning from Javatpoint.' for i in $str; do echo '$i' done 

Ausgabe

Bash For-Schleife

For-Schleife zum Lesen jeder Zeile in String als Wort

Die Syntax kann wie folgt definiert werden:

 #!/bin/bash for word in '$str'; do done 

Dabei werden die Anweisungen von „do“ bis „done“ für jede „Zeile“ eines Strings ausgeführt. Schauen Sie sich das folgende Beispiel an:

Bash-Skript

 #!/bin/bash #For Loop to Read each line in String as a word str='Let's start learning from Javatpoint.' for i in '$str'; do echo '$i' done 

Ausgabe

Bash For-Schleife

Hinweis: Der einzige Unterschied zwischen „For-Schleife zum Lesen von Leerzeichen im String als Worttrennzeichen“ und „For-Schleife zum Lesen jeder Zeile im String als Wort“ besteht in den doppelten Anführungszeichen um die String-Variable.

For-Schleife zum Lesen von drei Ausdrücken

Die Syntax mit drei Ausdrücken ist die gebräuchlichste Syntax der „for-Schleife“. Der erste Ausdruck bezieht sich auf den Initialisierungsprozess, der zweite Ausdruck bezieht sich auf die Beendigung und der dritte Ausdruck bezieht sich auf das Inkrementieren oder Dekrementieren.

Schauen Sie sich das folgende Beispiel an, um 1 bis 10 Zahlen mit drei Ausdrücken und einer for-Schleife auszugeben:

Bash-Skript

 #!/bin/bash #For Loop to Read Three-expression for ((i=1; i<=10; i++)) do echo '$i' done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-8.webp" alt="Bash For Loop"> <h3>For Loop with a Break Statement</h3> <p>A &apos;break&apos; statement can be used inside &apos;for&apos; loop to terminate from the loop.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash #Table of 2 for table in {2..100..2} do echo $table if [ $table == 20 ]; then break fi done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-9.webp" alt="Bash For Loop"> <h3>For Loop with a Continue Statement</h3> <p>We can use the &apos;continue&apos; statement inside the &apos;for&apos; loop to skip any specific statement on a particular condition. It tells Bash to stop executing that particular iteration of the loop and process the next iteration.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash #Numbers from 1 to 20, ignoring from 6 to 15 using continue statement&apos; for ((i=1; i<=20; 5 16 i++)); do if [[ $i -gt && -lt ]]; then continue fi echo done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-10.webp" alt="Bash For Loop"> <h3>Infinite Bash For Loop</h3> <p>When there is no &apos;start, condition, and increment&apos; in the bash three expressions for loop, it becomes an infinite loop. To terminate the infinite loop in Bash, we can press Ctrl+C.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash i=1; for (( ; ; )) do sleep 1s echo &apos;Current Number: $((i++))&apos; done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-11.webp" alt="Bash For Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use for loop statement in Bash to perform specific tasks</p> <hr></=20;></pre></=10;>

Ausgabe

Wann beginnt Q2?
Bash For-Schleife

For-Schleife mit einer Continue-Anweisung

Wir können die „continue“-Anweisung innerhalb der „for“-Schleife verwenden, um eine bestimmte Anweisung zu einer bestimmten Bedingung zu überspringen. Es weist Bash an, die Ausführung dieser bestimmten Iteration der Schleife zu stoppen und die nächste Iteration zu verarbeiten.

Bash-Skript

 #!/bin/bash #Numbers from 1 to 20, ignoring from 6 to 15 using continue statement&apos; for ((i=1; i<=20; 5 16 i++)); do if [[ $i -gt && -lt ]]; then continue fi echo done < pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-10.webp" alt="Bash For Loop"> <h3>Infinite Bash For Loop</h3> <p>When there is no &apos;start, condition, and increment&apos; in the bash three expressions for loop, it becomes an infinite loop. To terminate the infinite loop in Bash, we can press Ctrl+C.</p> <p> <strong>Bash Script</strong> </p> <pre> #!/bin/bash i=1; for (( ; ; )) do sleep 1s echo &apos;Current Number: $((i++))&apos; done </pre> <p> <strong>Output</strong> </p> <img src="//techcodeview.com/img/bash-tutorial/09/bash-loop-11.webp" alt="Bash For Loop"> <h2>Conclusion</h2> <p>In this topic, we discussed how to use for loop statement in Bash to perform specific tasks</p> <hr></=20;>

Ausgabe

Bash For-Schleife

Abschluss

In diesem Thema haben wir besprochen, wie man die for-Schleifenanweisung in Bash verwendet, um bestimmte Aufgaben auszuführen