Schleifen Sie Schleifen durch eine Liste von Saiten

Schleifen Sie Schleifen durch eine Liste von Saiten

Eine Liste von Strings oder Array oder eine Abfolge von Elementen kann durch Verwendung iteriert werden für Schleife in Bash. Wie Sie die Liste der Zeichenfolgen in Bash von for Loop iterieren können, wird in diesem Tutorial unter Verwendung verschiedener Bash -Skript -Beispiele angezeigt. Wenn Sie Anfänger sind, können Sie das Tutorial über Bash für Schleifenbeispiele lesen, bevor Sie dieses Tutorial beginnen.

Beispiel 1: Iteriert eine Zeichenfolge mehrerer Wörter für die Schleife

Erstellen Sie eine Bash -Datei mit dem Namen 'for_list1.sh 'und fügen Sie das folgende Skript hinzu. Ein Stringwert mit Leerzeichen wird innerhalb der Schleife verwendet. Standardmäßig wird der String -Wert durch Speicherplatz getrennt. Für die Schleife wird die Zeichenfolge in Wörter aufgeteilt und jedes Wort druckt, indem Sie eine neue Linie hinzufügen.

#!/Bin/Bash
# Lesen Sie eine Zeichenfolge mit Leerzeichen für die Schleife
Für den Wert in ich mag programmieren
Tun
echo $ value
Erledigt

Ausgang:

$ bash for_list1.Sch

Beispiel-2: Iterie einer String-Variable mit für die Schleife

Erstellen Sie eine Bash -Datei namens 'for_list2.sh 'und fügen Sie das folgende Skript hinzu. Weisen Sie der Variablen einen Text zu, StringVal und lesen Sie den Wert dieser Variablen mit für die Schleife durch. Dieses Beispiel funktioniert auch wie das vorherige Beispiel und unterteilt den Wert der Variablen in Wörter basierend auf dem Raum.

#!/Bin/Bash
# Definieren Sie eine Zeichenfolgenvariable mit einem Wert
StringVal = "Willkommen bei LinuxHint"
# Iterieren Sie die Zeichenfolgenvariable mit für die Schleife
für val in $ StringVal; Tun
echo $ val
Erledigt

Ausgang:

$ bash for_list2.Sch

Beispiel-3: Iterieren Sie ein Array von Stringwerten

Erstellen Sie eine Bash -Datei namens 'for_list3.sh 'und fügen Sie das folgende Skript hinzu. Ein Array von Stringwerten wird in diesem Skript mit Typ deklariert. Zwei Werte im Array, die Raum enthalten, sind 'Linux Mint' Und 'Red Hat Linux''. Dieses Skript generiert die Ausgabe, indem diese Werte in mehrere Wörter aufgeteilt und als separater Wert gedruckt werden. Dies ist jedoch nicht die richtige Ausgabe. Die Lösung dieser Art von Problem wird im nächsten Beispiel gezeigt.

#!/Bin/Bash
# Deklarieren Sie eine Reihe von String mit Typ
Declare -a Stringarray = ("Linux Mint" "Fedora"
"Red Hat Linux" "Ubuntu" "Debian")
# Iterieren Sie das String -Array mit für die Schleife
für val in $ stringArray [@]; Tun
echo $ val
Erledigt

Ausgang:

$ bash for_list3.Sch

Beispiel-4: Drucken Sie mehrere Wörter String-Wert als einzelner Wert

Erstellen Sie eine Bash -Datei mit dem Namen 'for_list4.sh 'und fügen Sie das folgende Skript hinzu. In diesem Beispiel jedes Element der Array -Variablen, StringArray Enthält Werte von zwei Wörtern. Um jeden Wert zu drucken, ohne das Problem des vorherigen Beispiels aufzuteilen und zu lösen, müssen Sie nur die Array -Variable einschließen Doppelzitat Innerhalb für Schleife.

#!/Bin/Bash
# Deklarieren Sie ein Zeichenfolgenarray mit dem Typ
Declare -a StringArray = ("Windows XP" "Windows 10"
"Windows Me" "Windows 8.1 "" Windows Server 2016 ")
# Lesen Sie die Array -Werte mit Speicherplatz
für VAL in "$ StringArray [@]"; Tun
echo $ val
Erledigt

Ausgang:

$ bash for_list4.Sch

Beispiel-5: Iterierende Zeichenfolgewerte eines Arrays mit '*'

Erstellen Sie eine Bash -Datei mit dem Namen 'for_list5.sh 'mit dem folgenden Code. Hier wird das Symbol '*' verwendet, um alle Stringwerte des Arrays zu lesen. Die erste für die Schleife wird verwendet, um Arraywerte in mehreren Zeilen anzuzeigen, und die zweite für die Schleife wird verwendet, um Array -Werte in einer einzelnen Zeile anzuzeigen.

#!/Bin/Bash
#Declare ein String -Array
Languagearray = ("Php" "Java" "C#" "C ++" "VB.Netz "" Python "" Perl ")
# Array -Werte in Zeilen drucken
Echo "Drucken Sie jedes Element in neuer Zeile"
für Val1 in $ Languagearray [*]; Tun
Echo $ val1
Erledigt
echo "" "
# Array -Werte in einer Zeile drucken
Echo "Drucken Sie alle Elemente in einer einzigen Linie"
für Val2 in "$ Languagearray [*]"; Tun
echo $ val2
Erledigt

Ausgang:

$ bash for_list5.Sch

Beispiel-6: iterierendes Komma-getrennter Zeichenfolgewerte

Erstellen Sie eine neue Bash -Datei namens 'for_list6.sh 'mit dem folgenden Code. Hier, Komma (,) wird verwendet, um die Zeichenfolgewerte aufzuteilen. Ifs Variable wird verwendet, um den Feldabscheider einzustellen.

#!/Bin/Bash
Datalist = "HTML5, CCS3, Bootstrap, jQuery"
Field_separator = $ ifs
# Setzen Sie das Komma als internes Feldabscheider für die String -Liste
Ifs =,
für VAL in $ datalist;
Tun
echo $ val
Erledigt
Ifs = $ field_separator

Ausgang:

$ bash for_list6.Sch

Beispiel-7: Mehr mehrere String-Arrays lesen

Erstellen Sie eine Bash -Datei mit dem Namen 'for_list7.sh 'und fügen Sie das folgende Skript hinzu. In diesem Beispiel werden zwei String -Arrays definiert und in ein anderes Array kombiniert. Mit dem äußeren für die Schleife wird das kombinierte Array gelesen, und die Innen- für die Schleife wird verwendet, um jedes innere Array zu lesen.

#! /Bin/Bash
str_array1 = ("Magento 2.2.4 "Woocommerce")
str_array2 = ("Codesignitor" "Laravel")
combine = (str_array1 str_array2)
Für Arritem in $ kombinieren [@]
Tun
eval 'für val in "$ ' $ arritem '[@]"; echo "$ val"; fertig'
Erledigt

Ausgang:

$ bash for_list7.Sch

Beispiel-8: Verwenden Sie das Muster, um die Liste der Zeichenfolgen zu lesen

Erstellen Sie eine neue Bash -Datei mit dem Namen FOR_LIST8.Sch mit dem folgenden Code. Hier, ' /, /' Muster wird verwendet, um die Zeichenfolgenwerte basierend auf Comma zu teilen.

#!/Bin/Bash
# Definieren Sie eine Liste der String -Variablen
StringList = WordPress, Joomla, Magento
# Verwenden Sie Komma als Trennzeichen und als Muster anwenden
Für VAL in $ StringList //,/
Tun
echo $ val
Erledigt

Ausgang:

$ bash for_list8.Sch

Hoffnung, die Beispiele dieses Tutorials helfen Ihnen, die Verwendung von zu verstehen Für Schleife Für ein Video zu diesem Thema finden Sie die Liste der Strings, siehe unten: