Crea un file bash chiamato 'for_list1.sh 'e aggiungi il seguente script. Un valore di stringa con spazi viene utilizzato all'interno per loop. Per impostazione predefinita, il valore della stringa è separato dallo spazio. Per loop dividerà la stringa in parole e stampa ogni parola aggiungendo una nuova linea.
#!/Bin/Bash
# Leggi una stringa con spazi che utilizzano per loop
per valore nella programmazione mi piace
Fare
Echo $ Value
Fatto
Produzione:
$ bash for_list1.sh
Esempio-2: iterando una variabile stringa utilizzando per loop
Crea un file bash chiamato 'for_list2.sh 'e aggiungi il seguente script. Assegna un testo nella variabile, Stringval e leggi il valore di questa variabile utilizzando per loop. Questo esempio funzionerà anche come l'esempio precedente e dividerà il valore della variabile in parole in base allo spazio.
#!/Bin/Bash
# Definisci una variabile stringa con un valore
StringVal = "Welcome to LinuxHint"
# Itera la variabile stringa utilizzando per loop
per Val in $ Stringval; Fare
Echo $ Val
Fatto
Produzione:
$ Bash for_list2.sh
Esempio-3: itera un array di valori di stringa
Crea un file bash chiamato 'for_list3.sh 'e aggiungi il seguente script. Una matrice di valori stringa viene dichiarata con tipo in questo script. Due valori nell'array che contengono spazio sono 'Linux Mint' E 'Red Hat Linux'. Questo script genererà l'output dividendo questi valori in più parole e stampando come valore separato. Ma questo non è l'output corretto. La soluzione di questo tipo di problema è mostrata nel prossimo esempio.
#!/Bin/Bash
# Dichiarare una matrice di stringa con tipo
Dichiara -a StringArray = ("Linux Mint" "Fedora"
"Red Hat Linux" "Ubuntu" "Debian")
# Itera l'array di stringa utilizzando per loop
per val in $ StringArray [@]; Fare
Echo $ Val
Fatto
Produzione:
$ Bash for_list3.sh
Esempio-4: stampare più parole String Valore come un valore singolo
Crea un file bash chiamato 'for_list4.sh 'e aggiungi il seguente script. In questo esempio, ogni elemento della variabile dell'array, StringArray contiene valori di due parole. Per stampare ogni valore senza dividere e risolvere il problema dell'esempio precedente, è solo necessario racchiudere la variabile dell'array doppia citazione All'interno per loop.
#!/Bin/Bash
# Dichiarare un array di stringhe con tipo
Dichiara -a StringArray = ("Windows XP" "Windows 10"
"Windows Me" "Windows 8.1 "" Windows Server 2016 ")
# Leggi i valori dell'array con spazio
per val in "$ StringArray [@]"; Fare
Echo $ Val
Fatto
Produzione:
$ bash for_list4.sh
Esempio-5: Iterating String Values di un array usando '*'
Crea un file bash chiamato 'for_list5.Sh 'con il seguente codice. Qui, il simbolo '*' viene utilizzato per leggere tutti i valori di stringa dell'array. Il primo loop viene utilizzato per visualizzare i valori dell'array in più righe e il secondo per loop viene utilizzato per visualizzare i valori dell'array in una singola riga.
#!/Bin/Bash
#Declare un array di stringhe
LinguaGearray = ("php" "java" "c#" "c ++" "VB.Netto "" python "" perl ")
# Stampa i valori dell'array in riga
Echo "Stampa ogni elemento in nuova riga"
per Val1 in $ LagingAgearray [*]; Fare
Echo $ Val1
Fatto
eco ""
# Stampa i valori dell'array in una riga
Echo "Stampa tutti gli elementi in una sola riga"
per Val2 in "$ Lagingagearray [*]"; Fare
Echo $ Val2
Fatto
Produzione:
$ Bash for_list5.sh
Esempio-6: valori di stringa separati da virgola Iterating
Crea un nuovo file bash denominato 'for_list6.Sh 'con il seguente codice. Qui, virgola (,) viene utilizzato per dividere i valori della stringa. Ifs La variabile viene utilizzata per impostare il separatore di campo.
#!/Bin/Bash
DataList = "html5, ccs3, bootstrap, jQuery"
Field_separator = $ ifs
# Imposta la virgola come separatore di campo interno per l'elenco delle stringhe
Ifs =,
per Val in $ Datalist;
Fare
Echo $ Val
Fatto
Ifs = $ field_separator
Produzione:
$ bash for_list6.sh
Esempio-7: leggere insieme più array di stringhe
Crea un file bash chiamato 'for_list7.sh 'e aggiungi il seguente script. In questo esempio, due array di stringhe sono definiti e combinati in un altro array. Il loop esterno viene utilizzato per leggere l'array combinato e il ciclo interno viene utilizzato per leggere ciascun array interno.
#! /Bin/Bash
str_array1 = ("Magento 2.2.4 "" WooCommerce ")
str_array2 = ("codeignitor" "laravel")
COMBINE = (str_array1 str_array2)
Per Artem in $ Combine [@]
Fare
Eval 'per val in "$ ' $ artem '[@]"; do echo "$ val"; fatto'
Fatto
Produzione:
$ Bash for_list7.sh
Esempio-8: usando il pattern per leggere l'elenco delle stringhe
Crea un nuovo file bash denominato for_list8.sh con il seguente codice. Qui, ' /, /' Il modello viene utilizzato per dividere i valori della stringa in base alla virgola.
#!/Bin/Bash
# Definisci un elenco di variabile stringa
StringList = WordPress, Joomla, Magento
# Usa la virgola come separatore e applica come modello
per val in $ StringList //,/
Fare
Echo $ Val
Fatto
Produzione:
$ bash for_list8.sh
Spero, gli esempi di questo tutorial ti aiuteranno a capire l'uso di per loop Per iterare l'elenco delle stringhe, per un video su questo argomento, vedi sotto: