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

Die for-Schleife in Shell-Skripten verstehen

Lassen Sie uns in Fortsetzung unserer vorherigen Tutorials heute die for-Schleife in Shell-Skripten verstehen. Wir haben die While-Schleife bereits früher behandelt und die For-Schleife hat eine ähnliche Verwendung mit einem anderen Format.

Erste Schritte

Schleifen werden von Programmierern auf der ganzen Welt häufig verwendet. Das Hinzufügen von Schleifen zu Ihrem Shell-Skript hilft Ihnen, Ihren Code effizienter zu gestalten, indem Sie die Menge an Code reduzieren, die Sie schreiben müssen.

Dies wird erreicht, indem die Ausführung einer Reihe von Anweisungen in Ihrem Shell-Skript automatisiert wird, anstatt sie wiederholt zu schreiben.

Wir verwenden die for-Schleife in Shell-Skripten für Fälle, in denen wir wissen, wie oft unsere Schleife ausgeführt werden soll. Diese Anzahl von Iterationen kann durch eine Liste von Elementen angegeben werden. Lassen Sie uns die Funktionsweise der for-Schleife in Shell-Skripten verstehen.

Wie erstelle ich eine for-Schleife in Shell-Skripten?

Es gibt zwei Möglichkeiten, eine for-Schleife in Shell-Skripten auszuführen.

1. Verwenden Sie das Schlüsselwort „in“

for var in val_1 val_2 val_3 ... val_n
do
    statement 1
    statement 2
    statement 3
done

Hier haben wir vier Schlüsselwörter, nämlich for, in, do und fertig .

  1. Das erste Schlüsselwort ‘for’ gibt den Beginn der Schleife an, wenn wir unser Shell-Skript ausführen.
  2. Ihm folgt eine Variable, die Werte annehmen kann, die durch val_1, val_2 usw. angegeben werden.
  3. Das Schlüsselwort in gibt den Beginn dieser Werteliste an. Diese Werte müssen durch „Leerzeichen“ getrennt werden, da alle anderen Zeichen wie ein Komma als Teil des „Werts“ behandelt werden.
  4. Das Schlüsselwort do wird vor den Anweisungen verwendet, die wir ausführen möchten
  5. erledigt bedeutet das Ende unserer Schleife.

2. Initialisierung im C-Stil verwenden

Die andere Möglichkeit, die for-Schleife in Shell-Skripten zu verwenden, besteht darin, einen C-Programmieransatz zu integrieren. So würde die Syntax aussehen.

for (( initialization parameter; condition; updation))
do
    statement 1
    statement 2
    statement 3
done

Hier ersetzen wir das „in“ Schlüsselwort für einen eher C-ähnlichen Ansatz.

  1. Bevor die Schleife die erste Iteration beginnt, wird der Initialisierungsparameter verwendet, um eine Variable zu initialisieren, die als Zähler für die Anzahl der Schleifen fungiert, die unsere Schleife durchläuft
  2. Solange die Bedingung zu TRUE ausgewertet wird, führt die Schleife alle Anweisungen aus, die zwischen „do “ und „fertig „.
  3. Schließlich der letzte Parameter „update ” wird verwendet, um die als Zähler fungierende Variable zu aktualisieren.

Beispiele für for-Schleife in Shell-Skripten

Wir sind jetzt mit dem Konzept und der Funktionsweise der for-Schleife in Shell-Skripten vertraut. Aber um einen Befehl richtig zu verstehen, müssen Sie ihn in Ihrem Code verwenden können.

Lassen Sie uns einige Beispiele für die praktische Verwendung von for-Schleifen durchgehen

1. Erstellen einer einfachen for-Schleife

Wir beginnen mit etwas Einfachem und Grundlegendem. Hier verwenden wir die erste Methode zur Verwendung der for-Schleife.

Wir verwenden das Schlüsselwort in um eine Schleife für 5 Iterationen auszuführen, während dem Benutzer mitgeteilt wird, wie oft die Schleife ausgeführt wurde. So sollte die Schleife in Ihrem Code aussehen.

#!/bin/sh
for i in 1 2 3 4 5
do
  echo "Executing loop $i time(s)"
done

2. Generieren einer zufälligen Liste von Zahlen mit for-Schleife in Shell-Skripten

Nun nähern wir uns einem Beispiel für die Verwendung der C-ähnlichen Variante der For-Schleife. Wir alle wissen, wie wir eingebaute Befehle verwenden können, um Pseudo-Zufallszahlen mit einem Shell-Skript zu generieren.

Hier werden wir dieses Wissen nutzen, um eine Liste mit 5 Pseudozufallszahlen zu generieren.

#!/bin/sh
for (( i=1; i <= 5; i++ ))
do
 echo "Randomiser iteration $i: $RANDOM"
done

3. Drucken der Namen von Dateien und Verzeichnissen mit for Loop

Die Bearbeitung einer großen Anzahl von Dateien und Verzeichnissen nacheinander dauert sehr lange. Es ist Zeitverschwendung, immer wieder denselben Befehl einzugeben.

Daher sollten wir die for-Schleife nutzen, um die Ausführung eines Befehls zu automatisieren. Lassen Sie uns einen Blick auf das Beispiel-Shell-Skript unten werfen, um die Namen aller Dateien und Verzeichnisse in Ihrem Home-Verzeichnis auszugeben.

#!/bin/sh
i=1
cd ~
for item in *
do
    echo "File number $((i++)) : $item"
done

Schlussfolgerung

Die for-Schleifen sind ein mächtiges Werkzeug für Shell-Programmierer. Es ist das beste Werkzeug, wenn Sie eine Reihe von Anweisungen eine festgelegte Anzahl von Malen ausführen müssen.

Durch die Automatisierung der Ausführung bestimmter Anweisungen müssen Sie nicht nur weniger Code schreiben, sondern gewinnen auch Zeit, die Sie für wichtigere Aufgaben wie das Debuggen verwenden können.

Wir hoffen, dass dieses Tutorial Ihnen helfen konnte, die Verwendung der For-Schleifenfunktion zu verstehen. Wenn Sie Fragen, Feedback oder Vorschläge haben, können Sie sich gerne in den Kommentaren unten an uns wenden.


Linux
  1. Anpassen der Bash-Shell

  2. Gibt es Namenskonventionen für Variablen in Shell-Skripten?

  3. Assoziative Arrays in Shell-Skripten?

  4. Richtiges Sperren in Shell-Skripten?

  5. Verständnis der rc-Skripte in Linux

Was ist die Shell unter Linux?

Shell-Scripting für Anfänger – So schreiben Sie Bash-Scripts unter Linux

Bash For Loop – Die praktischste Anleitung

Arrays in Shell-Skripten

Die While-Schleife in Shell-Skripten

Die Bash FOR-Schleife erklärt und vereinfacht