Bash Loop läpi merkkijonoluettelon

Bash Loop Through List Strings



Luettelo merkkijonoista tai matriisista tai elementtisarjasta voidaan iteroida käyttämällä varten silmukka bashissa. Tässä opetusohjelmassa näytetään, miten voit toistaa Bash by for loop -sarjan merkkijonoluettelon käyttämällä erilaisia ​​bash -skriptiesimerkkejä. Jos olet aloittelija bash -ohjelmoinnissa, voit lukea opetusohjelman BASH silmukkaesimerkkeihin ennen tämän opetusohjelman aloittamista.

Luo bash -tiedosto nimeltä ' for_list1.sh Ja lisää seuraava kirjoitus. Silmukassa käytetään merkkijonoarvoa, jossa on välilyöntejä. Oletusarvoisesti merkkijonon arvo erotetaan välilyönnillä. Silmukka jakaa merkkijonon sanoiksi ja tulostaa jokaisen sanan lisäämällä uuden rivin.







#!/bin/bash
# Lue merkkijono, jossa on välilyöntejä silmukalle
vartenarvosisäänTykkään ohjelmoinnista
tehdä
heitti pois $ arvo
tehty

Lähtö:



$lyödäfor_list1.sh



Esimerkki 2: Merkkijonomuuttujan toistaminen käyttämällä silmukkaa

Luo bash -tiedosto nimeltä ' for_list2.sh Ja lisää seuraava kirjoitus. Määritä muuttujaan teksti, StringVal ja lue tämän muuttujan arvo käyttämällä silmukkaa. Tämä esimerkki toimii myös kuten edellinen esimerkki ja jakaa muuttujan arvon sanoiksi välilyönnin perusteella.





#!/bin/bash
# Määritä merkkijonomuuttuja arvolla
StringVal='Tervetuloa linuxhintiin'

# Toista merkkijonomuuttuja silmukan avulla
vartentuntiasisään $ StringVal;tehdä
heitti pois $ tuntia
tehty

Lähtö:

$lyödäfor_list2.sh



Esimerkki 3: Toista merkkijonoarvojen taulukko

Luo bash -tiedosto nimeltä ' for_list3.sh Ja lisää seuraava kirjoitus. Joukko merkkijonoarvoja ilmoitetaan tyypillä tässä skriptissä. Taulukossa on kaksi tilaa sisältävää arvoa Linux Mint ja Red Hat Linux . Tämä skripti tuottaa tuloksen jakamalla nämä arvot useiksi sanoiksi ja tulostamalla erillisenä arvona. Mutta tämä ei ole oikea lähtö. Tämän tyyppisen ongelman ratkaisu on esitetty seuraavassa esimerkissä.

#!/bin/bash

# Ilmoita merkkijonotyyppi tyypillä
julistaa -kohteeseen StringArray=('Linux Mint' 'Fedora' 'Red Hat Linux' 'Ubuntu' 'Debian' )

# Toista merkkijonotaulukkoa silmukan avulla
vartentuntiasisään $ {StringArray [@]};tehdä
heitti pois $ tuntia
tehty

Lähtö:

$lyödäfor_list3.sh

Esimerkki 4: Tulosta usean sanan merkkijonoarvo yhdeksi arvoksi

Luo bash -tiedosto nimeltä ' for_list4.sh Ja lisää seuraava kirjoitus. Tässä esimerkissä taulukkomuuttujan jokainen elementti, StringArray sisältää kahden sanan arvot. Jos haluat tulostaa jokaisen arvon jakamatta ja ratkaista edellisen esimerkin ongelman, sinun on vain liitettävä taulukon muuttuja kaksinkertainen lainaus silmukan sisällä.

#!/bin/bash

# Ilmoita merkkijonotyyppi tyypillä
julistaa -kohteeseen StringArray=('Windows XP' 'Windows 10' 'Windows ME' 'Windows 8.1'
'Windows Server 2016' )

# Lue taulukon arvot välilyönnillä
vartentuntiasisään ''$ {StringArray [@]}'';tehdä
heitti pois $ tuntia
tehty

Lähtö:

$lyödäfor_list4.sh

Esimerkki 5: Taulukon merkkijonoarvojen toistaminen käyttämällä*-merkkiä

Luo bash -tiedosto nimeltä ' for_list5.sh 'Seuraavalla koodilla. Tässä*-merkkiä käytetään kaikkien taulukon merkkijonoarvojen lukemiseen. Ensimmäistä silmukkaa käytetään taulukkoarvojen näyttämiseen useilla riveillä ja toista silmukalla käytetään taulukkoarvojen näyttämiseen yhdellä rivillä.

#!/bin/bash

#Declare string array
LanguageArray=('PHP' 'Java' 'C #' 'C ++' 'VB.Net' 'Python' 'Perl')

# Tulosta taulukon arvot viivoiksi
heitti pois 'Tulosta jokainen elementti uudelle riville'
vartenval1sisään $ {LanguageArray [*]};tehdä
heitti pois $ val1
tehty

heitti pois ''

# Tulosta taulukon arvot yhdelle riville
heitti pois 'Tulosta kaikki elementit yhdelle riville'
vartenval2sisään ''$ {LanguageArray [*]}'';tehdä
heitti pois $ val2
tehty
heitti pois ''

Lähtö:

$lyödäfor_list5.sh

Esimerkki 6: Pilkuilla erotettujen merkkijonoarvojen toistaminen

Luo uusi bash -tiedosto nimeltä ' for_list6.sh ' seuraavalla koodilla. Tässä, pilkku (,) käytetään merkkijonojen arvojen jakamiseen. IFS muuttujaa käytetään kenttäerottimen asettamiseen.

#!/bin/bash
DataList='HTML5, CCS3, BootStrap, JQuery'
Kentän_erotin=$ IFS

# aseta pilkku merkkijonoluettelon sisäiseksi kentänerottimeksi
IFS=,
vartentuntiasisään $ DataList;
tehdä
heitti pois $ tuntia
tehty

IFS=$ Field_Separator

Lähtö:

$lyödäfor_list6.sh

Esimerkki 7: Useiden merkkijonojen lukeminen yhdessä

Luo bash -tiedosto nimeltä ' for_list7.sh Ja lisää seuraava kirjoitus. Tässä esimerkissä kaksi merkkijonotaulukkoa määritellään ja yhdistetään toiseen taulukkoon. Ulkoista silmukkaa käytetään yhdistetyn taulukon lukemiseen ja sisäistä silmukkaa kunkin sisäisen taulukon lukemiseen.

#! /bin/sh
str_array1=('Magento 2.2.4' 'WooCommerce')
str_array2=('CodeIgnitor' 'Laravel')
yhdistää=(str_array1 str_array2)
vartenhoidettusisään $ {yhdistä [@]}
tehdä
eval 'valuutta' $ {'$ arrItem'[@]}'; toista '$ val'; valmis '
tehty

Lähtö:

$lyödäfor_list7.sh

Esimerkki 8: Kuvion käyttäminen merkkijonoluettelon lukemiseen

Luo uusi bash -tiedosto nimeltä for_list8.sh seuraavalla koodilla. Tässä, ' /, /' Kuviota käytetään merkkijonojen jakamiseen pilkun perusteella.

#! /bin/sh

# Määritä merkkijonomuuttujan luettelo
stringList= WordPress, Joomla, Magento

# Käytä erottimena pilkkua ja käytä mallina
vartentuntiasisään $ {stringList //,/}
tehdä
heitti pois $ tuntia
tehty

Lähtö:

$lyödäfor_list8.sh

Toivottavasti tämän opetusohjelman esimerkit auttavat sinua ymmärtämään sen käyttöä silmukkaa varten merkkijonoluettelon iteroimiseksi, tästä aiheesta videon, katso alla: