GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Bash For Loop Guide und Beispiele

Eine for-Schleife ist eine der wichtigsten Anweisungen in verschiedenen Programmiersprachen und hilft sehr bei der Verwaltung Ihres VPS. Hier erklären wir, wie es in der Programmiersprache bash verwendet wird – daher der Name „bash for loop“. Machen Sie sich bereit, Ihrem Entwickler-Arsenal ein neues Tool hinzuzufügen!

Eine for-Schleife ist eine Iterationsanweisung, was bedeutet, dass Sie Code wiederholt ausführen können. Angenommen, Sie möchten eine Anweisung fünfmal ausführen. Anstatt fünf separate Codes zu schreiben, können Sie nur einmal eine For-Schleifen-Syntax schreiben. Lassen Sie uns das genauer untersuchen, oder?

Bash-For-Loop-Syntax

Grundsätzlich wiederholt die einfachste For-Schleifensyntax das Auftreten eines Satzes einer Variablen. Die Bash-Sequenz sieht normalerweise so aus:

for VARIABLE in 1 2 3 4 5 .. N
Perform the below command:
    command1
    command2
    commandN
done

In der realen Welt würde diese Syntax wie im folgenden Beispiel aussehen:

#!/bin/bash
for i in 1 2 3 4 5
do
 echo "Hello $i"
done

Das Ausführen der Bash-Datei bewirkt die folgende Sequenz:

Hello 1
Hello 2
Hello 3
Hello 4 
Hello 5

Lassen Sie uns jedes Element untersuchen:

  • #!/bin/bash – zeigt, dass der Code ein Bash-Skript ist
  • ich – ist ein Platzhalter für eine Variable. Dabei ist $i der individuelle Wert der Variablen. Sie können es auch als c/$c schreiben oder unter einem anderen Namen
  • in – trennt die Variable und die folgenden Elemente
  • 1 2 3 4 5 – ist ein Beispiel für Gegenstände, an denen Sie die Anweisung ausführen möchten
  • tun – ist das Schlüsselwort, das die Schleifen startet. Anschließend wird die Anweisung n-mal ausgeführt, wobei n die Gesamtzahl der Elemente ist. Hier ist der Wert von n 5
  • Echo „Hallo:$i“ – ist der Code, den wir n-mal wiederholen werden. Denken Sie daran, dass Anführungszeichen alles darin zu einer Variablen machen.
  • erledigt – stoppt die Schleife

Sie können den Code je nach verwendeter Bash-Version unterschiedlich schreiben:

Bash Version 3.0+ kann den Bereich mit „.. verkürzen “.

#!/bin/bash
for i in {1..5}
do
  echo "Hai $i"
done

Bash-Version 4.0 und höher ermöglicht Ihnen die Verwendung von {START..END..INCREMENT} Syntax.

#!/bin/bash
for i in {0..8..2}
do
  echo "Hai $i"
done

Das Ergebnis dieser Bash-Sequenz sieht folgendermaßen aus:

Hai 0
Hai 2
Hai 4
Hai 6 
Hai 8

Die anderen üblichen Befehlssyntaxen mit zwei Schleifen sind diese:

for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done

Und das:

for OUTPUT in $(Linux-Or-Unix-Command-Here)
do
    command1 on $OUTPUT
    command2 on $OUTPUT
    commandN
done

Beispiele für Bash-For-Loops

Sie können die Syntax aktualisieren, um mehrere Vorgänge auszuführen. Denken Sie daran, bevor Sie etwas tun, müssen Sie sich bei Ihrem VPS anmelden. Wenn Sie Probleme haben, bringt Sie dieses Putty SSH-Tutorial auf den richtigen Weg. Wenn Sie in der Zwischenzeit Probleme mit Bash haben, sollten Sie sich unseren Leitfaden zur grundlegenden Bash-Funktion ansehen. Denken Sie daran, dass Bash-Funktionen in einer .sh sein müssen Datei. Um eine zu erstellen, führen Sie Folgendes in der Befehlszeile aus:

vim NameOfFile.sh

Dadurch wird eine .sh-Datei erstellt und im VIM-Editor geöffnet. Sie können mehr in dem zuvor erwähnten Artikel über grundlegende Bash-Funktionen erfahren.

Verwenden von Bash for Loop zum Erstellen einer Infinity-Schleife

Einmal aktiviert, führt diese Schleife den Code so lange aus, bis Sie ihn durch Drücken von Strg + C stoppen. In diesem Fall erscheint der Begriff „Hello World“ von selbst immer wieder.

#!/bin/bash
for (( ; ; ))
do
  echo "Hello World!"
done

Verwenden der Bash-For-Schleife zum Erstellen einer Schleife mit drei Ausdrücken

Die Schleife besteht aus drei Schreibausdrücken – einem Initialisierer (EXP1 ), eine Bedingung (EXP2 ) und einen Zählausdruck (EXP3 ). Manchmal wird es wegen der großen Ähnlichkeit in der Codestruktur als Schleife im C-Stil bezeichnet. Die Syntax dieser Schleife lautet wie folgt:

for (( EXP1; EXP2; EXP3 ))
do
    command1
    command2
    command3
done

Hier ist ein Beispiel für einen Schleifenbefehl, den Sie selbst ausprobieren können:

#!/bin/bash
for (( c=1; c<=5; c++ ))
do  
  echo "Hai $c"
done

Der Code sagt, dass der Anfangswert 1 ist . Die Schleife wird ausgeführt, solange die Bedingung in EXP2 erfüllt ist stimmt, d. h. sie sollte nicht größer als 5 sein . Außerdem das ++ zeigt an, dass das Inkrement 1 ist . Es wird dann die Schleife nacheinander beginnend mit dem Anfangswert wiederholen. Ergebnis:

Hai 1
Hai 2
Hai 3
Hai 4 
Hai 5

Verwenden von Bash for Loop zum Erstellen der Skip-and-Continue-Schleife

Die Continue-Anweisung überspringt die Schleife für den angegebenen Wert und setzt die Schleife danach fort. So würde die Syntax aussehen:

for I in 1 2 3 4 5
do
 if [condition]
 then
    continue   #Go to next iteration of I in the loop and skip statements3
 fi
 statement
done

Indem wir der Syntax folgen, können wir einen Bash-Befehl zum Überspringen und Fortsetzen der Schleife wie diesen erstellen:

for i in {1..5}
do
  if [[ "$i" == '4' ]]
  then
    continue
  fi
  echo "Hai $i4"
done

Die Ausgabe für diese Bash-Sequenz wäre:

Hai 1
Hai 2
Hai 3
Hai 5

Da der Wert 4 mit der Continue-Anweisung übereinstimmte, hat die Schleife den Code nicht ausgeführt und ist zum nächsten Wert übergegangen, der 5 ist .

Verwenden von Bash for Loop zum Erstellen eines bedingten Exits mit Break-Loop

Die Schleife ermöglicht es Ihnen, die Operation zu stoppen, wenn sie die angegebene Bedingung erfüllt. Darauf kann eine weitere Anweisung folgen. Hier ist die Syntax:

for I in 1 2 3 4 5
  do
  if [condition]
  then
    break
  fi
  statement
done

Wenn Sie diese Funktion verwenden, würde unser Schleifenbefehl wie folgt aussehen:

for city in Manila Bangkok Jakarta Kuala Lumpur
do
  if [[ "$city" == 'Jakarta' ]]; then
    break
  fi
  echo "city: $city"
done

echo 'Yes, that’s all!'

Und die Ausgabe:

city: Manila
city: Bangkok
Yes, that’s all!

Die Anweisung weist die Schleife an, die Operation abzubrechen, sobald die Bedingung wahr ist (das Finden des Begriffs Jakarta ). Es wird dann den zweiten Code ausführen, der einen Text ausgibt, der besagt:Ja, das ist alles.

Fazit

Bash for Loop eignet sich hervorragend zum Automatisieren sich wiederholender Aufgaben. Abgesehen von den oben genannten grundlegenden Beispielen können Sie noch viel mehr tun. Sie können beispielsweise Dateien verfolgen und viele andere Aufgaben ausführen. Die Liste geht weiter!

Alles, was Sie tun müssen, ist, die Schleifenbefehle zu schreiben. Es mag eine Lernkurve sein, aber das Lesen dieser Einführung ist ein guter Anfang. Übung macht immer den Meister! Viel Glück!


Linux
  1. Beispiele für Bash-For- und While-Schleifen

  2. Bleiben Sie auf dem Laufenden – Beispiele für Bash-For-, While- und Until-Loops

  3. 12 Bash-For-Loop-Beispiele für Ihr Linux-Shell-Scripting

  4. Verwendung von und in der Bash-While-Schleife

  5. Linux-Bash. für Schleife und Funktion, zum Addieren von Zahlen

Bash-Scripting – For-Schleife mit Beispielen erklärt

Bash For-Schleifen mit Beispielen

Bash For Loop – Die praktischste Anleitung

Bash-Scripting Teil 2 – For- und While-Schleifen mit Beispielen

Die Bash FOR-Schleife erklärt und vereinfacht

Bash-Skript für Schleife mit Beispielen erklärt