Bash petlja kroz popis nizova

Bash Loop Through List Strings



Popis nizova ili niza ili niza elemenata može se ponoviti pomoću za petlja u bash. Kako možete ponoviti popis nizova u Bash -u pomoću for petlje prikazano je u ovom vodiču pomoću različitih primjera bash skripte. Ako ste početnik u bash programiranju, možete pročitati vodič na BASH Za primjere petlji prije početka ovog vodiča.

Napravite bash datoteku pod nazivom ' for_list1.sh ’I dodajte sljedeću skriptu. Vrijednost niza s razmacima koristi se unutar for petlje. Prema zadanim postavkama, vrijednost niza odvojena je razmakom. For petlja će podijeliti niz u riječi i ispisati svaku riječ dodavanjem novog retka.







#!/bin/bash
# Pročitajte niz s razmacima pomoću for petlje
zavrijednostuVolim programiranje
čini
izbaciti $ vrijednost
učinjeno

Izlaz:



$bashfor_list1.sh



Primjer-2: Promjena string varijable pomoću for petlje

Napravite bash datoteku pod nazivom ' for_list2.sh ’I dodajte sljedeću skriptu. Dodijelite tekst varijabli, StringVal i čitati vrijednost ove varijable pomoću for petlje. Ovaj će primjer također raditi kao prethodni primjer i podijelit će vrijednost varijable u riječi na temelju razmaka.





#!/bin/bash
# Definirajte niz varijablu s vrijednošću
StringVal='Dobro došli u linuxhint'

# Iteretirajte varijablu niza pomoću petlje for
zasatiu $ StringVal;čini
izbaciti $ sati
učinjeno

Izlaz:

$bashfor_list2.sh



Primjer-3: Iteracija niza niz vrijednosti

Napravite bash datoteku pod nazivom ' for_list3.sh ’I dodajte sljedeću skriptu. Niz string vrijednosti je deklariran s tipom u ovoj skripti. Dvije vrijednosti u nizu koje sadrže razmak su Linux Mint i Red Hat Linux . Ova skripta će generirati izlaz dijeljenjem ovih vrijednosti na više riječi i ispisom kao zasebne vrijednosti. Ali ovo nije pravi izlaz. Rješenje ove vrste problema prikazano je u sljedećem primjeru.

#!/bin/bash

# Deklarirajte niz znakovnih nizova s ​​tipom
proglasiti -do StringArray=('Linux Mint' 'Fedora' 'Red Hat Linux' 'Ubuntu' 'Debian' )

# Iterirajte niz znakova pomoću for petlje
zasatiu $ {StringArray [@]};čini
izbaciti $ sati
učinjeno

Izlaz:

$bashfor_list3.sh

Primjer 4: Ispišite vrijednost niza više riječi kao jednu vrijednost

Napravite bash datoteku pod nazivom ' for_list4.sh ’I dodajte sljedeću skriptu. U ovom primjeru svaki element varijable niza, StringArray sadrži vrijednosti dvije riječi. Za ispis svake vrijednosti bez podjele i rješavanje problema iz prethodnog primjera, trebate samo priložiti varijablu polja dvostruki navod unutar for petlje.

#!/bin/bash

# Deklarirajte niz nizova s ​​tipom
proglasiti -do StringArray=('Windows XP' 'Windows 10' 'Windows ME' 'Windows 8.1'
'Windows Server 2016' )

# Pročitajte vrijednosti niza s razmakom
zasatiu '$ {StringArray [@]}';čini
izbaciti $ sati
učinjeno

Izlaz:

$bashfor_list4.sh

Primjer-5: Iteracija niznih vrijednosti niza pomoću '*'

Napravite bash datoteku pod nazivom ' for_list5.sh ’Sa sljedećim kodom. Ovdje se simbol ‘*’ koristi za čitanje svih nizova vrijednosti niza. Prva for petlja koristi se za prikaz vrijednosti niza u više redaka, a druga for petlja za prikaz vrijednosti niza u jednom retku.

#!/bin/bash

#Deklarirajte niz znakova
LanguageArray=('PHP' 'Java' 'C #' 'C ++' 'VB.Net' 'Piton' 'Perl')

# Ispišite vrijednosti niza u retke
izbaciti 'Ispiši svaki element u novom retku'
zaval1u $ {LanguageArray [*]};čini
izbaciti $ val1
učinjeno

izbaciti ''

# Ispišite vrijednosti polja u jednom retku
izbaciti 'Ispišite sve elemente u jednom retku'
zaval2u '$ {LanguageArray [*]}';čini
izbaciti $ val2
učinjeno
izbaciti ''

Izlaz:

$bashfor_list5.sh

Primjer-6: Iteracija vrijednosti niza odvojenih zarezima

Izradite novu bash datoteku pod nazivom ' for_list6.sh ’ sa sljedećim kodom. Ovdje, zarez (,) koristi se za podjelu vrijednosti niza. IFS Varijabla se koristi za postavljanje separatora polja.

#!/bin/bash
DataList='HTML5, CCS3, BootStrap, JQuery'
Razdvajač polja_=$ IFS

# postavite zarez kao unutarnji separator polja za popis nizova
IFS=,
zasatiu $ DataList;
čini
izbaciti $ sati
učinjeno

IFS=$ Field_Separator

Izlaz:

$bashfor_list6.sh

Primjer 7: Čitanje više nizova nizova zajedno

Napravite bash datoteku pod nazivom ' for_list7.sh ’I dodajte sljedeću skriptu. U ovom primjeru definirana su dva niza nizova koji su kombinirani u drugi niz. Vanjska for petlja koristi se za čitanje kombiniranog niza, a unutarnja for petlja za čitanje svakog unutarnjeg niza.

#! /bin/sh
str_array1=('Magento 2.2.4' 'WooCommerce')
str_array2=('CodeIgnitor' 'Laravel')
kombinirati=(str_array1 str_array2)
zaupravljaou $ {kombinirajte [@]}
čini
eval 'za val u' $ {'$ arrItem'[@]}'; radi jeku '$ val'; gotovo '
učinjeno

Izlaz:

$bashfor_list7.sh

Primjer-8: Korištenje uzorka za čitanje popisa nizova

Izradite novu bash datoteku pod nazivom for_list8.sh sa sljedećim kodom. Ovdje, ‘ /, /’ pattern se koristi za podjelu vrijednosti niza na temelju zareza.

#! /bin/sh

# Definirajte popis varijabli niza
stringList= WordPress, Joomla, Magento

# Koristite zarez kao separator i primijenite kao uzorak
zasatiu $ {stringList //,//}
čini
izbaciti $ sati
učinjeno

Izlaz:

$bashfor_list8.sh

Nadam se da će vam primjeri ovog vodiča pomoći da razumijete upotrebu za petlju za ponavljanje popisa nizova, za video na ovu temu, pogledajte dolje: