In diesem Tutorial werden Loops untersucht, ein grundlegendes Konzept für das Scripting und Programmieren im Allgemeinen. Wir werden uns speziell darauf konzentrieren, wie für Schleifen funktionieren.
Für die Schleifenbasisstruktur
Bevor wir Beispiele für Schleifen für Schleifen haben, lassen Sie uns die Struktur diskutieren. Für Schleifen übernehmen die allgemeine Syntax:
für- In
Tun
Erledigt
Sie können die Liste der Elemente wie ein Array, eine Reihe von String -Literalen (durch Leerzeichen getrennt) oder einen Zahlenbereich übergeben.
Betrachten wir nun einige Beispiele und veranschaulichen, wie für Schleifen funktioniert.
Beispiel 1
Betrachten Sie das nachstehend gezeigte Beispiel. Wir schleifen eine Liste der Zeichenfolgewerte und drucken die aktuelle Zeichenfolge in der Schleife aus.
#!/usr/bin/zsh
Für Getränk in Wassertee Kaffee Wein
Tun
Echo "Getränk: $ Drink"
Erledigt
Sobald Sie das Skript ausgeführt haben, sollten Sie jedes Element in der ausgedruckten Liste sehen, wie im folgenden Beispiel gezeigt:
$ ./für.Sch
Wasser trinken
Tee trinken
Kaffee trinken
Wein trinken
Beispiel 2
Sie können auch den Listenwert in der für Schleife als Abfolge von Zahlen angeben. Sie tun dies, indem Sie die Start- und Endwerte festlegen. Die Syntax ist unten:
Start Ende
Nehmen Sie das Beispiel für Schleife unten, um die Werte 10 -mal zu schleifen.
#!/usr/bin/zsh
denn ich in 1… 10
Tun
Echo "Nummer: $ i"
Erledigt
Sie sollten alle Zahlen zwischen 1 und 10 zum Terminal gedruckt bekommen.
Nummer 1
Nummer 2
…
Nummer: 8
Nummer 9
Nummer 10
Beispiel 3
In einigen Fällen müssen Sie bei Verwendung des Zahlenbereichs die Werte nach einem bestimmten Intervall überspringen. Um die geraden Zahlen zwischen 10 und 20 zu drucken, müssen Sie ein Intervall von 2 verwenden.
Sie können dies tun, indem Sie das Inkrement als drittes Argument der Zahlenbereiche angeben.
Die Syntax ist:
Start… End… Increment
Unten ist ein Beispielcode:
#!/usr/bin/zsh
denn ich in 10… 20… 2
Tun
Echo "Nummer: $ i"
Erledigt
Der obige Beispielcode sollte alle gleichmäßigen Zahlen zwischen 10 und 20 drucken. Unten ist ein Beispielausgang:
Nummer 10
Nummer: 12
…
Nummer: 20
Beispiel 4
Ein weiterer häufiger Anwendungsfall für eine für die Schleife besteht darin, über eine Reihe von Gegenständen zu iterieren. Betrachten Sie das unten gezeigte Beispiel:
#!/usr/bin/zsh
Datenbanken = ('MySQL' 'PostgreSQL' 'MongoDB' 'Redis' 'Fauna' 'Cockroach DB')
Für DB in "$ Datenbanken [@]";
Echo "Datenbank: $ db"
Erledigt
Das obige für die Schleife iteriert jedes Element im Array und druckt es aus.
Datenbank: MySQL
Datenbank: PostgreSQL
…
Datenbank: Fauna
Datenbank: Kakerlake DB
Brechen und Aussagen fortsetzen
Sie können auch die Pause verwenden und Schlüsselwörter fortsetzen, um den Fluss der Schleife in einem ZSH -Skript zu steuern.
Beginnen wir mit dem Keyword des Break -Keywords.
Keyword brechen
Sie können das Schlüsselwort Break verwenden, um den aktuellen Schleifenfluss zu beenden und die Steuerung an den folgenden Block zu übergeben. Die Hauptverwendung davon besteht darin, den Schleifenfluss zu beenden, wenn eine bestimmte Bedingung wahr ist.
Zum Beispiel:
#!/usr/bin/zsh
Für DB in MySQL Postgresql MongoDB Redis Fauna Kakerlake;
wenn [["$ db" == 'mongoDB']]; Dann
brechen
fi
Echo "Datenbank: $ db"
Erledigt
Im obigen Beispiel schauen wir über den Gegenstand und brechen den Schleifenfluss, wenn das aktuelle Element MongoDb ist.
Hier ist ein Beispielausgang:
Datenbank: MySQL
Datenbank: PostgreSQL
Keyword fortsetzen
Andererseits verlässt das Keyword für Fortsetzung die aktuelle Schleife -Iteration und überspringt zur nächsten Iteration.
Zum Beispiel:
#!/usr/bin/zsh
für i in 1… 10; Tun
wenn [["$ i" == '5']; Dann
weitermachen
fi
Echo "Nummer: $ i"
Erledigt
Sobald sich die Schleife an der 5. Iteration befindet, überspringt sie und springt zum nächsten Wert im Bereich. Eine solche Funktionalität führt dazu, dass der 5. Wert nicht ausgedruckt wird.
Abschluss
In diesem Tutorial wurde erläutert, wie man in einem ZSH -Skript für Schleifen implementiert wird. Es ist gut zu beachten, dass ZSH auf Bash basiert; Daher funktioniert die für Bash erstellte Schleifenfunktion auch für ZSH.