Syntaxe de Loop:
# Loop via une liste
pour la valeur dans la liste
faire
commandes
fait
# Loop Valeurs spécifiées
pour la valeur dans File1 File2 File3
faire
commandes
fait
# boucle à travers les chaînes résultant d'une commande
pour la valeur dans $ (Commande Linux)
faire
commandes
fait
# boucle à travers des nombres d'incrément ou de décréments
# Procédure traditionnelle pour la boucle
pour ((i = 0; i<10; i++)
faire
commandes
fait
Selon la syntaxe ci-dessus, le bloc de départ et de fin de pour la boucle est définie par faire et fait Mots-clés dans le script bash. Les utilisations de différentes boucles ont montré dans la partie suivante de ce tutoriel.
Exemple-1: lire les valeurs statiques
Créer un fichier bash nommé Loop1.shot avec le script suivant pour lire les valeurs d'une liste à l'aide de la boucle. Dans cet exemple, 5 valeurs statiques sont déclarées dans les listes. Cette boucle itérera 5 fois, et chaque fois, il recevra une valeur des listes et la stockera dans la variable nommée couleur qui imprimera à l'intérieur de la boucle.
#!/ bac / bash
# Définissez la boucle pour lire les valeurs de chaîne
pour la couleur en bleu vert rose blanc rouge
faire
# Imprime la valeur de la chaîne
Echo "Color = $ couleur"
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-2: Variable de lecture du tableau
Vous pouvez utiliser pour Loop pour itérer les valeurs d'un tableau. Créer un nouveau fichier bash nommé Loop2.shot avec le script suivant. Dans cet exemple, la boucle récupère les valeurs d'une variable de tableau nommée Colorlist, et il imprimera la sortie uniquement si le Rose la valeur se trouve dans les éléments du tableau.
#!/ bac / bash
# Déclarer et tableau
ColorList = ("Blue Green Rose blanc rouge")
# Définissez la boucle pour itérer les valeurs du tableau
pour la couleur dans $ colorlist
faire
# Vérifier que la valeur est rose ou non
Si [$ color == 'rose']
alors
Echo "Ma couleur préférée est $ couleur"
Fi
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-3: Lire des arguments en ligne de commande
Les valeurs d'arguments en ligne de commande peuvent être itérées en utilisant pour la boucle en bash. Créer un nouveau fichier bash nommé boucle3.shot avec le script suivant à lire et à imprimer les valeurs d'argument de ligne de commande en utilisant pour Loop.
#!/ bac / bash
# Définissez la boucle pour lire les valeurs d'argument
pour myVal dans $ *
faire
# Imprimez chaque argument
Echo "Argument: $ myval"
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus. Deux arguments ont été présentés comme arguments en ligne de commande ici. Ceux-ci sont 'Linux' et 'Indice'.
Exemple-4: trouver un nombre étrange et uniforme en utilisant trois expressions
La syntaxe de style C de For Loop est une syntaxe d'expression à trois. La première expression indique l'initialisation, la deuxième expression indique une condition de terminaison, et la troisième expression indique l'incrément ou la diminution. Créer un fichier bash nommé LOOP4.shot avec le script suivant pour découvrir les nombres étranges et même de 1 à 5.
#!/ bac / bash
# Définir pour la boucle au format de style C
pour ((n = 1; n<=5; n++ ))
faire
# Vérifier que le numéro est même ou non
if (($ n% 2 == 0))
alors
Echo "$ n est même"
autre
Echo "$ n est étrange"
Fi
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-5: lecture du contenu du fichier
Vous pouvez utiliser pour Loop pour lire le contenu de n'importe quel fichier en utilisant le 'chat' commande. Supposons que vous ayez un fichier nommé 'jour de la semaine.SMS'qui contient le nom de tous les jours de semaine. Maintenant, créez un fichier bash nommé LOOP5.shot pour lire et imprimer le contenu du fichier.
#!/ bac / bash
# Initialiser le compteur
i = 1
# Définir pour Loop pour lire le fichier texte
pour var dans 'Cat Weekday.SMS'
faire
# Imprimez le contenu du fichier
echo "Weekday $ i: $ var"
((i ++))
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-6: Créer Infinite pour Loop
Créer un bash nommé LOOP6.frapper avec le script suivant pour savoir comment déclarer Infinite pour Loop. Ici, la boucle itérera pour les temps infinis et imprimera la valeur de comptoir jusqu'à ce que l'utilisateur appuie sur Ctrl + C.
#!/ bac / bash
# Initialiser la variable de compteur
compteur = 1
# Afficher le message pour la résiliation
Echo "Appuyez sur Ctrl + C pour se terminer de la boucle"
# Définir une boucle infinie
pour (( ;; ))
faire
# Imprimez le nombre d'itération
Echo "Iterating for $ comprimés (s)."
# Attendre 1 seconde
sommeil 1
# Incrément le compteur
((compteur ++))
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-7: utilisation de la boucle avec substitut de commande
Créer un fichier bash nommé Loop7.frapper avec le script suivant pour connaître l'utilisation de la boucle pour lire et imprimer la sortie de commande.
#!/ bac / bash
Echo "Tous les fichiers bash commençant par 'a' sont:"
# Lisez la sortie du substitut de commande en utilisant la boucle
pour val dans $ (ls a *.frapper)
faire
# Imprimez le nom du fichier
Echo "$ Val"
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-8: sortie conditionnelle avec pause
Créer un fichier bash nommé Loop8.frapper avec le script suivant pour connaître la façon de sortir de la boucle en fonction d'une condition particulière.
#!/ bac / bash
# Définir une boucle pour itérer 10 fois
pour ((i = 1; i<=10; i++ ))
faire
# Définir les conditions pour résilier la boucle
if (($ i% 3 == 0 && $ i% 6 == 0))
alors
# Se terminer de la boucle
écho "terminé."
casser
autre
# Imprimez la valeur actuelle de i
Echo "La valeur actuelle de i est: $ i"
Fi
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Exemple-9: continuation précoce avec une déclaration continue
Créer un fichier bash nommé Loop8.frapper avec le script suivant pour savoir comment omettre une ou plusieurs déclarations de la boucle en utilisant une déclaration continue basée sur la condition particulière.
#!/ bac / bash
# Déclarer un tableau associatif
DÉCLARIER -Un candidats
# Intialize les valeurs du tableau
Demandeurs = ([1022] = "présent" [1034] = "présent" [1045] = "absent" [1067] = "présent")
Écho "Liste de l'ID du demandeur qui sont présentes:"
pour k dans $ !Candidats[@]
faire
# Filtrez l'identifiant du demandeur qui sont absents
si [$ candidats [$ k] == "absent"]; alors
continuer
autre
# Imprimez l'ID du demandeur qui sont présents
Echo $ k
Fi
fait
La sortie suivante apparaîtra après avoir exécuté le script ci-dessus.
Conclusion:
Différentes utilisations de la boucle ont été expliquées dans ce tutoriel en utilisant divers exemples pour aider les utilisateurs de bash à connaître les objectifs de l'utilisation correctement et à l'appliquer dans leur script.