Bash pętla za pośrednictwem listy strun

Bash pętla za pośrednictwem listy strun

Lista ciągów lub tablicy lub sekwencji elementów można iterować za pomocą Do pętla w Bash. Jak można iterować listę ciągów w Bash by for Loop, jest pokazany w tym samouczku, używając różnych przykładów skryptu Bash. Jeśli jesteś nowicjuszem, jest programowaniem bash, możesz przeczytać samouczek na temat bash dla przykładów pętli przed rozpoczęciem tego samouczka.

Przykład-1: Iterowanie ciągów wielu słów w pętli

Utwórz plik bash o nazwie „for_list1.sh 'i dodaj następujący skrypt. Wartość łańcucha z przestrzeniami jest używana w pętli. Domyślnie wartość ciągu jest oddzielona przez miejsce. W przypadku pętli podzieli ciąg na słowa i wydrukuje każde słowo, dodając nową linię.

#!/bin/bash
# Przeczytaj ciąg z przestrzeniami używającymi do pętli
dla wartości w programowaniu lubię
Do
echo $ wartość
zrobione

Wyjście:

$ bash for_list1.cii

Przykład-2: Iteracja zmiennej stringowej za pomocą pętli

Utwórz plik bash o nazwie „for_list2.sh 'i dodaj następujący skrypt. Przypisz tekst do zmiennej, Stringval i przeczytaj wartość tej zmiennej za pomocą pętli. Ten przykład będzie również działał jak poprzedni przykład i podzieli wartość zmiennej na słowa na podstawie przestrzeni.

#!/bin/bash
# Zdefiniuj zmienną stringową o wartości
Stringval = "Witamy w Linuxhint"
# Iteruj zmienną stringową za pomocą pętli
dla val in $ stringval; Do
Echo $ val
zrobione

Wyjście:

$ bash for_list2.cii

Przykład-3: iteruj tablicę wartości ciągu

Utwórz plik bash o nazwie „for_list3.sh 'i dodaj następujący skrypt. Tablica wartości ciągu jest zadeklarowana typem w tym skrypcie. Dwie wartości w tablicy, które zawierają przestrzeń, to 'Linux Mint' I 'Red Hat Linux'. Ten skrypt wygeneruje dane wyjściowe, dzieląc te wartości na wiele słów i drukując jako osobną wartość. Ale to nie jest właściwe wyjście. Rozwiązanie tego rodzaju problemu pokazano w następnym przykładzie.

#!/bin/bash
# Deklaruj tablicę ciągu z typem
Declare -a StringArray = („Linux Mint” „Fedora”
„Red Hat Linux” „Ubuntu” „Debian”)
# Iteruj tablicę ciągów za pomocą pętli
dla val in $ stringArray [@]; Do
Echo $ val
zrobione

Wyjście:

$ bash for_list3.cii

Przykład-4: Wydrukuj wiele słów wartość ciągu jako pojedyncza wartość

Utwórz plik bash o nazwie „for_list4.sh 'i dodaj następujący skrypt. W tym przykładzie każdy element zmiennej tablicy, StringArray zawiera wartości dwóch słów. Aby wydrukować każdą wartość bez podziału i rozwiązania problemu poprzedniego przykładu, wystarczy załączyć zmienną tablicy za pomocą Podwójny cytat wewnątrz pętli.

#!/bin/bash
# Deklaruj tablicę ciągu z typem
Declare -a StringArray = („Windows XP” „Windows 10”
„Windows Me” „Windows 8.1 „„ Windows Server 2016 ”)
# Przeczytaj wartości tablicy z miejscem
dla val w „$ stringArray [@]”; Do
Echo $ val
zrobione

Wyjście:

$ bash for_list4.cii

Przykład-5: Iterowanie wartości ciągów tablicy za pomocą „*”

Utwórz plik bash o nazwie „for_list5.sh 'z następującym kodem. Tutaj symbol „*” służy do odczytu wszystkich wartości łańcucha tablicy. Pierwsza pętla jest używana do wyświetlania wartości tablicy w wielu liniach, a drugi dla pętli służy do wyświetlania wartości tablicy w jednym wierszu.

#!/bin/bash
#Declare a String Tray
LanguageArray = („php” „java” „c#” „c ++” „vb.Net „„ Python ”„ Perl ”)
# Wydrukuj wartości tablicy w wierszach
echo „Wydrukuj każdy element w nowej linii”
dla Val1 w $ LanguageArray [*]; Do
Echo $ val1
zrobione
Echo ""
# Wydrukuj wartości tablicy w jednym wierszu
echo „Wydrukuj wszystkie elementy w jednym wierszu”
dla val2 w „$ LanguageArray [*]”; Do
Echo $ val2
zrobione

Wyjście:

$ bash for_list5.cii

Przykład-6: Iteracyjne wartości łańcuchowe oddzielone przecinki

Utwórz nowy plik bash o nazwie „for_list6.sh 'z następującym kodem. Tutaj, przecinek () służy do podziału wartości ciągów. Ifs Zmienna służy do ustawienia separatora pola.

#!/bin/bash
DataList = "HTML5, CCS3, Bootstrap, JQuery"
Field_separator = $ ifs
# Ustaw przecinek jako wewnętrzny separator pola dla listy ciągów
IFS =,
dla Val in $ Datalist;
Do
Echo $ val
zrobione
Ifs = $ field_separator

Wyjście:

$ bash for_list6.cii

Przykład-7: razem odczytanie wielu tablic ciągu

Utwórz plik bash o nazwie „for_list7.sh 'i dodaj następujący skrypt. W tym przykładzie dwa tablice ciągów są zdefiniowane i połączone w inną tablicę. Zewnętrzna pętla jest używana do odczytania połączonej tablicy, a do odczytu każdej wewnętrznej tablicy jest używana.

#! /bin/bash
str_array1 = (”Magento 2.2.4 „„ WooCommerce ”)
str_array2 = („codeignitor” „laravel”)
Combine = (str_array1 str_array2)
dla Artum in $ Combine [@]
Do
Oceń „dla val w„ $ '$ action ”[@]"; do echo "$ val"; gotowe' '
zrobione

Wyjście:

$ bash for_list7.cii

Przykład-8: Używanie wzorca do odczytania listy ciągów

Utwórz nowy plik bash o nazwie for_list8.cii z następującym kodem. Tutaj, ' /, /' Wzór służy do podziału wartości ciągów na podstawie przecinka.

#!/bin/bash
# Zdefiniuj listę zmiennej ciągu
StringList = WordPress, Joomla, Magento
# Użyj przecinka jako separatora i zastosuj jako wzór
dla Val in $ StringList //,/
Do
Echo $ val
zrobione

Wyjście:

$ bash for_list8.cii

Mam nadzieję, że przykłady tego samouczka pomogą ci zrozumieć użycie dla pętli Aby iterować listę strun, wideo na ten temat, patrz poniżej: