Vytvorte bash súbor s názvom „ for_list1.sh “A pridajte nasledujúci skript. V cykle for sa používa reťazcová hodnota s medzerami. Štandardne je hodnota reťazca oddelená medzerou. Slučka For rozdelí reťazec na slová a každé slovo vytlačí pridaním nového riadka.
#!/bin/bash
# Prečítajte si reťazec s medzerami pomocou cyklu for
prehodnotuvRád programujem
urobiť
zahodil hodnota $
hotový
Výkon:
$bashfor_list1.sh
Príklad 2: Iterácia reťazcovej premennej pomocou cyklu for
Vytvorte bash súbor s názvom „ for_list2.sh “A pridajte nasledujúci skript. Priraďte text do premennej, StringVal a prečítajte hodnotu tejto premennej pomocou cyklu for. Tento príklad bude fungovať rovnako ako predchádzajúci príklad a rozdelí hodnotu premennej na slová na základe medzery.
#!/bin/bash
# Definujte reťazcovú premennú s hodnotou
StringVal='Welcome to linuxhint'
# Opakujte premennú reťazca pomocou cyklu for
prehodv $ StringVal;urobiť
zahodil $ hodín
hotový
Výkon:
$bashfor_list2.sh
Príklad 3: Iterujte pole reťazcových hodnôt
Vytvorte bash súbor s názvom „ for_list3.sh “A pridajte nasledujúci skript. V tomto skripte je s typom deklarované pole reťazcových hodnôt. Dve hodnoty v poli, ktoré obsahujú medzeru, sú Linuxová mincovňa a Red Hat Linux . Tento skript vygeneruje výstup rozdelením týchto hodnôt na viacero slov a vytlačením ako samostatnej hodnoty. Toto však nie je správny výstup. Riešenie tohto typu problému je uvedené v nasledujúcom príklade.
#!/bin/bash# Deklarujte pole reťazca s typom
vyhlásiť -do StringArray=(„Linux Mint“ 'Fedora' „Red Hat Linux“ „Ubuntu“ 'Debian' )
# Opakujte pole reťazcov pomocou cyklu for
prehodv $ {StringArray [@]};urobiť
zahodil $ hodín
hotový
Výkon:
$bashfor_list3.sh
Príklad 4: Vytlačí hodnotu reťazca viacerých slov ako jednu hodnotu
Vytvorte bash súbor s názvom „ for_list4.sh “A pridajte nasledujúci skript. V tomto prípade každý prvok premennej poľa, StringArray obsahuje hodnoty dvoch slov. Na vytlačenie každej hodnoty bez rozdelenia a vyriešenie problému z predchádzajúceho príkladu stačí uzavrieť premennú poľa pomocou dvojitá citácia v rámci cyklu for.
#!/bin/bash# Deklarujte pole reťazcov s typom
vyhlásiť -do StringArray=('Windows XP' „Windows 10“ „Windows ME“ „Windows 8.1“
„Windows Server 2016“ )
# Prečítajte si hodnoty poľa s medzerou
prehodv '$ {StringArray [@]}';urobiť
zahodil $ hodín
hotový
Výkon:
$bashfor_list4.sh
Príklad 5: Iterácia hodnôt reťazca poľa pomocou „*“
Vytvorte bash súbor s názvom „ for_list5.sh “S nasledujúcim kódom. Tu sa na prečítanie všetkých reťazcových hodnôt poľa používa symbol „*“. Prvá slučka for sa používa na zobrazenie hodnôt poľa vo viacerých riadkoch a druhá slučka for sa používa na zobrazenie hodnôt poľa v jednom riadku.
#!/bin/bash#Deklarujte pole reťazcov
LanguageArray=('PHP' 'Java' 'C #' 'C ++' „VB.Net“ „Python“ 'Perl')
# Vytlačte hodnoty poľa v riadkoch
zahodil „Vytlačiť každý prvok v novom riadku“
preval1v $ {LanguageArray [*]};urobiť
zahodil 1 dolár
hotový
zahodil ''
# Vytlačte hodnoty poľa v jednom riadku
zahodil „Vytlačte všetky prvky do jedného riadka“
preval2v '$ {LanguageArray [*]}';urobiť
zahodil $ val2
hotový
zahodil ''
Výkon:
$bashfor_list5.sh
Príklad 6: Iterácia hodnôt reťazca oddelených čiarkami
Vytvorte nový bash súbor s názvom „ for_list6.sh ' s nasledujúcim kódom. Tu, čiarka (,) sa používa na rozdelenie hodnôt reťazca. IFS premenná slúži na nastavenie oddeľovača polí.
#!/bin/bashDataList=„HTML5, CCS3, BootStrap, JQuery“
Oddeľovač poľa=$ IFS
# nastaviť čiarku ako interný oddeľovač polí pre zoznam reťazcov
IFS=,
prehodv $ DataList;
urobiť
zahodil $ hodín
hotový
IFS=$ Field_Separator
Výkon:
$bashfor_list6.sh
Príklad 7: Spoločné čítanie viacerých reťazcových polí
Vytvorte bash súbor s názvom „ for_list7.sh “A pridajte nasledujúci skript. V tomto prípade sú definované dve reťazcové polia a skombinované do iného poľa. Vonkajšia slučka for sa používa na čítanie kombinovaného poľa a vnútorná slučka for sa používa na čítanie každého vnútorného poľa.
#! /bin/shstr_array1=(„Magento 2.2.4“ „WooCommerce“)
str_array2=('CodeIgnitor' „Laravel“)
kombinovať=(str_array1 str_array2)
preorganizovanýv $ {kombinovať [@]}
urobiť
eval 'for val in' $ {'$ arrItem'[@]}'; zopakujte '$ val'; hotovo '
hotový
Výkon:
$bashfor_list7.sh
Príklad 8: Použitie vzoru na prečítanie zoznamu reťazcov
Vytvorte nový súbor bash s názvom for_list8.sh s nasledujúcim kódom. Tu, ' /, /' vzor sa používa na rozdelenie hodnôt reťazca na základe čiarky.
#! /bin/sh# Definujte zoznam reťazcových premenných
stringList= WordPress, Joomla, Magento
# Ako oddeľovač používajte čiarku a aplikujte ako vzor
prehodv $ {stringList //,/}
urobiť
zahodil $ hodín
hotový
Výkon:
$bashfor_list8.sh
Dúfam, že príklady tohto tutoriálu vám pomôžu porozumieť používaniu pre slučku iteráciu zoznamu reťazcov a video na túto tému nájdete nižšie: