Créer un fichier bash nommé 'for_list1.sh 'et ajouter le script suivant. Une valeur de chaîne avec des espaces est utilisée à l'intérieur pour la boucle. Par défaut, la valeur de la chaîne est séparée par l'espace. Car Loop divisera la chaîne en mots et imprimera chaque mot en ajoutant une nouvelle ligne.
#!/ bac / bash
# Lisez une chaîne avec des espaces utilisant pour Loop
pour la valeur dans j'aime la programmation
faire
Echo $ valeur
fait
Sortir:
$ bash for_list1.shot
Exemple-2: itération d'une variable de chaîne à l'aide de la boucle
Créer un fichier bash nommé 'for_list2.sh 'et ajouter le script suivant. Attribuer un texte dans la variable, Stringval et lire la valeur de cette variable en utilisant pour Loop. Cet exemple fonctionnera également comme l'exemple précédent et divisera la valeur de la variable en mots en fonction de l'espace.
#!/ bac / bash
# Définir une variable de chaîne avec une valeur
StringVal = "Bienvenue sur Linuxhint"
# Itérer la variable de chaîne en utilisant pour la boucle
pour Val dans $ stringval; faire
Echo $ Val
fait
Sortir:
$ bash for_list2.shot
Exemple-3: itérez un tableau de valeurs de chaîne
Créer un fichier bash nommé 'for_list3.sh 'et ajouter le script suivant. Un tableau de valeurs de chaîne est déclaré avec le type dans ce script. Deux valeurs dans le tableau qui contiennent l'espace sont 'Linux' et 'Chapeau rouge Linux'. Ce script générera la sortie en divisant ces valeurs en plusieurs mots et en impression comme valeur distincte. Mais ce n'est pas la sortie appropriée. La solution de ce type de problème est montrée dans l'exemple suivant.
#!/ bac / bash
# Déclarer un tableau de chaîne avec type
Declare -a StringArray = ("Linux Mint" "Fedora"
"Red Hat Linux" "Ubuntu" "Debian")
# Itérer le tableau de chaîne en utilisant pour la boucle
pour val dans $ stringArray [@]; faire
Echo $ Val
fait
Sortir:
$ bash for_list3.shot
Exemple-4: Imprimez la valeur de la chaîne de plusieurs mots en tant que valeur unique
Créer un fichier bash nommé 'for_list4.sh 'et ajouter le script suivant. Dans cet exemple, chaque élément de la variable de tableau, Stringarray contient des valeurs de deux mots. Pour imprimer chaque valeur sans fractionnement et résoudre le problème de l'exemple précédent, il vous suffit de joindre la variable de tableau avec double citation à l'intérieur pour Loop.
#!/ bac / bash
# Déclarez un tableau de chaînes avec type
Declare -a StringArray = ("Windows XP" "Windows 10"
"Windows Me" "Windows 8.1 "" Windows Server 2016 ")
# Lisez les valeurs du tableau avec l'espace
pour Val dans "$ stringArray [@]"; faire
Echo $ Val
fait
Sortir:
$ bash for_list4.shot
Exemple-5: itération des valeurs de chaîne d'un tableau utilisant '*'
Créer un fichier bash nommé 'for_list5.sh 'avec le code suivant. Ici, le symbole '*' est utilisé pour lire toutes les valeurs de chaîne du tableau. Le premier pour Loop est utilisé pour afficher les valeurs du tableau en plusieurs lignes et la seconde pour Loop est utilisée pour afficher les valeurs du tableau en une seule ligne.
#!/ bac / bash
#Declare un tableau de chaînes
LanguageArray = ("php" "Java" "C #" "C ++" "VB.Net "" python "" perl ")
# Imprimer les valeurs du tableau en lignes
Echo "Imprimez chaque élément dans une nouvelle ligne"
pour val1 dans $ LanguageArray [*]; faire
Echo Val1
fait
écho ""
# Imprimer les valeurs du tableau en une seule ligne
Echo "Imprimer tous les éléments en une seule ligne"
Pour Val2 dans "$ LanguageArray [*]"; faire
Echo Val2
fait
Sortir:
$ bash for_list5.shot
Exemple-6: Valeurs de chaîne séparées par des virgules itératives
Créer un nouveau fichier bash nommé 'for_list6.sh 'avec le code suivant. Ici, virgule (,) est utilisé pour diviser les valeurs de chaîne. Ifs la variable est utilisée pour définir le séparateur de champ.
#!/ bac / bash
Datalist = "HTML5, CCS3, bootstrap, jQuery"
Field_separator = $ ifs
# Définissez la virgule comme séparateur de champ interne pour la liste des chaînes
Ifs =,
pour Val dans $ datalist;
faire
Echo $ Val
fait
Ifs = $ field_separator
Sortir:
$ bash for_list6.shot
Exemple-7: lire plusieurs tableaux de chaînes ensemble
Créer un fichier bash nommé 'for_list7.sh 'et ajouter le script suivant. Dans cet exemple, deux tableaux de chaînes sont définis et combinés dans un autre tableau. La boucle extérieure est utilisée pour lire le tableau combiné et la boucle intérieure pour la boucle est utilisée pour lire chaque tableau intérieur.
#! / bac / bash
str_array1 = ("magento 2.2.4 "" WooCommerce ")
str_array2 = ("codeignitor" "Laravel")
combine = (str_array1 str_array2)
pour Arritem dans $ combiner [@]
faire
ev 'pour val dans "$ ' $ arritem '[@]"; do echo "$ val"; Done'
fait
Sortir:
$ bash for_list7.shot
Exemple-8: Utilisation du modèle pour lire la liste des chaînes
Créer un nouveau fichier bash nommé for_list8.shot avec le code suivant. Ici, '/, /' Le modèle est utilisé pour diviser les valeurs de chaîne en fonction de la virgule.
#!/ bac / bash
# Définir une liste de variables de chaîne
StringList = WordPress, Joomla, Magento
# Utilisez la virgule comme séparateur et appliquez comme modèle
pour Val dans $ StringList //, /
faire
Echo $ Val
fait
Sortir:
$ bash for_list8.shot
Hope, les exemples de ce tutoriel vous aideront à comprendre l'utilisation de pour boucle Pour itérer la liste des chaînes, pour une vidéo sur ce sujet, voir ci-dessous: