Utwórz plik bash o nazwie „ for_list1.sh ’ i dodaj następujący skrypt. W pętli for używana jest wartość ciągu ze spacjami. Domyślnie wartość ciągu jest oddzielona spacją. Pętla For podzieli ciąg na słowa i wypisze każde słowo przez dodanie nowej linii.
#!/kosz/bash
# Odczytaj ciąg ze spacjami za pomocą pętli for
dlawartośćwlubię programować
robić
wyrzucił $wartość
Gotowe
Wyjście:
$grzmotnąćfor_list1.sh
Przykład-2: Iteracja zmiennej łańcuchowej za pomocą pętli for
Utwórz plik bash o nazwie „ for_list2.sh ’ i dodaj następujący skrypt. Przypisz tekst do zmiennej, StringVal i odczytaj wartość tej zmiennej za pomocą pętli for. Ten przykład będzie również działał jak poprzedni i podzieli wartość zmiennej na słowa na podstawie spacji.
#!/kosz/bash
# Zdefiniuj zmienną łańcuchową z wartością
StringVal=„Witamy w linuxhint”
# Iteruj zmienną łańcuchową za pomocą pętli for
dlagodzinaw $StringVal;robić
wyrzucił $ godzin
Gotowe
Wyjście:
$grzmotnąćfor_list2.sh
Przykład-3: Iteracja tablicy wartości łańcuchowych
Utwórz plik bash o nazwie „ for_list3.sh ’ i dodaj następujący skrypt. W tym skrypcie zadeklarowana jest tablica wartości łańcuchowych z typem. Dwie wartości w tablicy zawierające spację to Mennica Linuksa oraz Red Hat Linux . Ten skrypt wygeneruje dane wyjściowe, dzieląc te wartości na wiele słów i drukując je jako oddzielną wartość. Ale to nie jest właściwe wyjście. Rozwiązanie tego typu problemu pokazuje następny przykład.
#!/kosz/bash# Zadeklaruj tablicę ciągów z typem
ogłosić -do StringArray=('Linux Mennica' „Fedora” „Red Hat Linux” „Ubuntu” 'Debian' )
# Iteruj tablicę ciągów za pomocą pętli for
dlagodzinaw ${StringArray[@]};robić
wyrzucił $ godzin
Gotowe
Wyjście:
$grzmotnąćfor_list3.sh
Przykład-4: Wydrukuj wartość ciągu wielu słów jako pojedynczą wartość
Utwórz plik bash o nazwie „ for_list4.sh ’ i dodaj następujący skrypt. W tym przykładzie każdy element zmiennej tablicowej, StringArray zawiera wartości dwóch słów. Aby wydrukować każdą wartość bez dzielenia i rozwiązać problem z poprzedniego przykładu, wystarczy dołączyć zmienną tablicową za pomocą podwójny cytat w pętli for.
#!/kosz/bash# Zadeklaruj tablicę ciągów z typem
ogłosić -do StringArray=('Windows XP' Windows 10 „Okna ME” 'Windows 8.1'
„Windows Server 2016” )
# Odczytaj wartości tablicy za pomocą spacji
dlagodzinaw '${StringArray[@]}';robić
wyrzucił $ godzin
Gotowe
Wyjście:
$grzmotnąćfor_list4.sh
Przykład-5: Iteracja 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 odczytywania wszystkich wartości ciągów tablicy. Pierwsza pętla for służy do wyświetlania wartości tablicy w wielu wierszach, a druga pętla for służy do wyświetlania wartości tablicy w jednym wierszu.
#!/kosz/bash#Zadeklaruj tablicę ciągów
LanguageArray=(„PHP” 'Jawa' 'C #' 'C++' 'VB.Sieć' 'Pyton' 'Perl')
# Wydrukuj wartości tablicy w liniach
wyrzucił 'Drukuj każdy element w nowej linii'
dlawart1w ${Tablica języków[*]};robić
wyrzucił $ wartość1
Gotowe
wyrzucił ''
# Wydrukuj wartości tablicy w jednym wierszu
wyrzucił 'Drukuj wszystkie elementy w jednym wierszu'
dlawart2w '${Tablica języków[*]}';robić
wyrzucił $val2
Gotowe
wyrzucił ''
Wyjście:
$grzmotnąćfor_list5.sh
Przykład-6: Iterowanie wartości ciągu znaków oddzielonych przecinkami
Utwórz nowy plik bash o nazwie „ for_list6.sh” z następującym kodem. Tutaj, przecinek (,) służy do dzielenia wartości ciągu. IFS zmienna służy do ustawienia separatora pól.
#!/kosz/bashLista danych=' HTML5, CCS3, BootStrap, JQuery '
Separator pola=$IFS
# ustaw przecinek jako wewnętrzny separator pól dla listy ciągów
IFS=,
dlagodzinaw $Lista danych;
robić
wyrzucił $ godzin
Gotowe
IFS=$Field_Separator
Wyjście:
$grzmotnąćfor_list6.sh
Przykład-7: Wspólne odczytywanie wielu tablic ciągów
Utwórz plik bash o nazwie „ for_list7.sh ’ i dodaj następujący skrypt. W tym przykładzie dwie tablice ciągów są zdefiniowane i połączone w inną tablicę. Zewnętrzna pętla for służy do odczytu połączonej tablicy, a wewnętrzna pętla for służy do odczytu każdej tablicy wewnętrznej.
#! /bin/szstr_tablica1=(„Magento 2.2.4” „WooCommerce”)
str_array2=(„KodIgnitor” 'Laravel')
łączyć=(str_array1 str_array2)
dlazarządzanyw ${połączyć[@]}
robić
oceniać 'for val w '${'$ arrItem'[@]}';wykonaj echo '$val';gotowe'
Gotowe
Wyjście:
$grzmotnąćfor_list7.sh
Przykład 8: Używanie wzorca do odczytywania listy ciągów
Utwórz nowy plik bash o nazwie for_list8.sh z następującym kodem. Tutaj, „/, /” wzorzec służy do dzielenia wartości ciągu na podstawie przecinka.
#! /bin/sz# Zdefiniuj listę zmiennych łańcuchowych
Lista ciągów=WordPress, Joomla, Magento
# Użyj przecinka jako separatora i zastosuj jako wzór
dlagodzinaw ${stringList//,/ }
robić
wyrzucił $ godzin
Gotowe
Wyjście:
$grzmotnąćfor_list8.sh
Mam nadzieję, że przykłady z tego samouczka pomogą ci zrozumieć użycie dla pętli dla iteracji listy ciągów, aby obejrzeć film na ten temat, zobacz poniżej: