Bash zanka skozi seznam nizov

Bash Loop Through List Strings



Seznam nizov ali matrike ali zaporedja elementov je mogoče ponoviti z uporabo za zanka v bash. Kako lahko ponovite seznam nizov v Bashu z zanko for, je prikazano v tej vadnici z uporabo različnih primerov bash skripta. Če ste začetnik programiranja bash, lahko vadnico preberete na BASH Za primere zank pred začetkom te vadnice.

Ustvarite bash datoteko z imenom ' for_list1.sh «In dodajte naslednji skript. V zanki for se uporablja vrednost niza s presledki. Vrednost niza je privzeto ločena s presledkom. For zanka bo niz razdelila na besede in vsako besedo natisnila z dodajanjem nove vrstice.







#!/bin/bash
# Preberite niz s presledki z uporabo zanke for
zavrednostvRad programiram
naredi
vrgel ven $ vrednost
Končano

Izhod:



$bashfor_list1.sh



Primer-2: Iteracija spremenljivke niza z uporabo zanke for

Ustvarite bash datoteko z imenom ' for_list2.sh «In dodajte naslednji skript. Spremenljivki dodelite besedilo, StringVal in preberite vrednost te spremenljivke z uporabo zanke for. Ta primer bo deloval tudi kot prejšnji primer in bo vrednost spremenljivke razdelil na besede na podlagi presledka.





#!/bin/bash
# Določite spremenljivko niza z vrednostjo
StringVal='Dobrodošli v linuxhint'

# Spremenite nizno spremenljivko z zanko for
zaurev $ StringVal;naredi
vrgel ven $ ur
Končano

Izhod:

$bashfor_list2.sh



Primer 3: Iteracija niza niznih vrednosti

Ustvarite bash datoteko z imenom ' for_list3.sh «In dodajte naslednji skript. Polje vrednosti niza je v tem skriptu deklarirano s tipom. Dve vrednosti v matriki, ki vsebujeta presledek, sta Linux Mint in Red Hat Linux . Ta skript bo ustvaril rezultat tako, da te vrednosti razdeli na več besed in natisne kot ločeno vrednost. Vendar to ni pravi izhod. Rešitev te vrste problema je prikazana v naslednjem primeru.

#!/bin/bash

# Razglasite niz nizov z vrsto
izjaviti -za StringArray=('Linux Mint' 'Fedora' 'Red Hat Linux' 'Ubuntu' 'Debian' )

# Ponovite niz nizov z zanko for
zaurev $ {StringArray [@]};naredi
vrgel ven $ ur
Končano

Izhod:

$bashfor_list3.sh

Primer-4: Natisnite vrednost niza več besed kot eno vrednost

Ustvarite bash datoteko z imenom ' for_list4.sh «In dodajte naslednji skript. V tem primeru vsak element spremenljivke matrike, StringArray vsebuje vrednosti dveh besed. Če želite natisniti vsako vrednost brez razdelitve in rešiti problem prejšnjega primera, morate samo spremenljivko matrike priložiti dvojni narekovaj znotraj zanke for.

#!/bin/bash

# Razglasite niz nizov z vrsto
izjaviti -za StringArray=('Windows XP' 'Windows 10' 'Windows ME' 'Windows 8.1'
'Windows Server 2016' )

# Preberite vrednosti matrike s presledkom
zaurev '$ {StringArray [@]}';naredi
vrgel ven $ ur
Končano

Izhod:

$bashfor_list4.sh

Primer-5: Iteracija niznih vrednosti matrike z uporabo '*'

Ustvarite bash datoteko z imenom ' for_list5.sh «Z naslednjo kodo. Tukaj se simbol ‘*’ uporablja za branje vseh nizov vrednosti matrike. Prva zanka for se uporablja za prikaz vrednosti matrike v več vrsticah, druga zanka for pa za prikaz vrednosti matrike v eni vrstici.

#!/bin/bash

#Razglasite niz nizov
LanguageArray=('PHP' 'Java' 'C #' 'C ++' 'VB.Net' 'Python' 'Perl')

# Natisnite vrednosti matrike v vrstice
vrgel ven 'Natisni vsak element v novi vrstici'
zaval1v $ {LanguageArray [*]};naredi
vrgel ven $ val1
Končano

vrgel ven ''

# Natisnite vrednosti matrike v eno vrstico
vrgel ven 'Natisni vse elemente v eno vrstico'
zaval2v '$ {LanguageArray [*]}';naredi
vrgel ven $ val2
Končano
vrgel ven ''

Izhod:

$bashfor_list5.sh

Primer-6: Iteracija vrednosti nizov, ločenih z vejicami

Ustvarite novo datoteko bash z imenom ' for_list6.sh ’ z naslednjo kodo. Tukaj, vejica (,) se uporablja za razdelitev vrednosti niza. IFS spremenljivka se uporablja za nastavitev ločevalnika polj.

#!/bin/bash
Seznam podatkov='HTML5, CCS3, BootStrap, JQuery'
Ločilo_polja=$ IFS

# nastavite vejico kot notranji ločilo polja za seznam nizov
IFS=,
zaurev $ DataList;
naredi
vrgel ven $ ur
Končano

IFS=$ Field_Separator

Izhod:

$bashfor_list6.sh

Primer 7: Branje skupaj več nizov nizov

Ustvarite bash datoteko z imenom ' for_list7.sh «In dodajte naslednji skript. V tem primeru sta definirana dva niza nizov in združena v drugo matriko. Zunanja zanka for se uporablja za branje kombinirane matrike, notranja zanka for pa za branje vsake notranje matrike.

#! /bin/sh
str_array1=('Magento 2.2.4' 'WooCommerce')
str_array2=('CodeIgnitor' 'Laravel')
kombinirati=(str_array1 str_array2)
zaupravljanov $ {kombiniraj [@]}
naredi
eval 'za val v' $ {'$ arrItem'[@]}'; do echo '$ val'; done '
Končano

Izhod:

$bashfor_list7.sh

Primer 8: Uporaba vzorca za branje seznama nizov

Ustvarite novo datoteko bash z imenom for_list8.sh z naslednjo kodo. Tukaj, ‘ /, /’ vzorec se uporablja za razdelitev vrednosti niza na podlagi vejice.

#! /bin/sh

# Določite seznam spremenljivke niza
stringList= WordPress, Joomla, Magento

# Uporabite vejico kot ločilo in uporabite kot vzorec
zaurev $ {stringList //,/}
naredi
vrgel ven $ ur
Končano

Izhod:

$bashfor_list8.sh

Upam, da vam bodo primeri te vadnice pomagali razumeti uporabo za zanko za ponovitev seznama nizov, za video o tej temi glejte spodaj: