Comment utiliser Bash pour Loop dans Linux

Comment utiliser Bash pour Loop dans Linux

Dans les langages de programmation, Boucles sont des composants essentiels et sont utilisés lorsque vous souhaitez répéter le code encore et encore jusqu'à ce qu'une condition spécifiée soit remplie.

Dans Frapper script, boucles jouer à peu près le même rôle et sont utilisés pour automatiser les tâches répétitives comme dans les langages de programmation.

Dans Frapper script, il existe 3 types de boucles: pour boucle, pendant la boucle, et jusqu'à la boucle. Les trois sont utilisés pour itérer une liste de valeurs et effectuer un ensemble donné de commandes.

Dans ce guide, nous nous concentrerons sur le Bash pour boucle en linux.

Bash pour la syntaxe de boucle

Comme mentionné précédemment, le pour boucle itérate sur une plage de valeurs et exécute un ensemble de commandes.

Pour boucle Prend la syntaxe suivante:

pour variable_name dans Value1 Value2 Value3… n do Command1 Command2 Commandn Done 

Laissez maintenant vérifier quelques exemples d'utilisations de la boucle de bash.

Bash simple pour la boucle

Dans sa forme la plus simple, le Pour boucle prend le format de base suivant. Dans cet exemple, la variable n itérate sur un groupe de valeurs numériques entourées de bretelles bouclées et imprime leurs valeurs à STDOUT.

pour n dans 1 2 3 4 5 6 7; faire écho $ n fait 
Exemple Bash for Loop

Bash pour boucle avec des gammes

Dans les exemples précédents, nous avons explicitement répertorié les valeurs à itérer par le pour boucle, Ce qui fonctionne très bien. Cependant, vous ne pouvez qu'imaginer à quel point une tâche serait lourde et qui prend du temps à ce que vous soyez à itérer, par exemple, une centaine de valeurs. Cela vous obligerait à taper toutes les valeurs de 1 à 100.

Pour résoudre ce problème, spécifiez une plage. Pour ce faire, spécifiez le numéro pour démarrer et arrêter séparé par deux périodes.

Dans cet exemple, 1 est la première valeur tandis que 7 est la dernière valeur de la plage.

#!/ bin / bash pour n dans 1… 7; faire écho $ n fait 

Une fois le script shell exécuté, toutes les valeurs de la plage sont répertoriées, similaires à ce que nous avions dans boucles simples.

Bash for Loop with Ranges Exemple

De plus, nous pouvons inclure une valeur à la fin de la plage qui va provoquer pour boucle pour itérer à travers les valeurs en étapes incrémentielles.

Le script bash suivant imprime les valeurs entre 1 et 7 avec 2 étapes incrémentielles entre les valeurs à partir de la première valeur.

#!/ bin / bash pour n dans 1… 7… 2; faire écho $ n fait 
Bash pour les valeurs incrémentées en boucle

D'après l'exemple ci-dessus, vous pouvez voir que le boucle incrémenté les valeurs à l'intérieur des accolades bouclées par 2 valeurs.

Bash pour boucles avec des tableaux

Vous pouvez également itérer facilement à travers des valeurs définies dans un tableau en utilisant un Pour boucle. Dans l'exemple suivant, le pour boucle itera à travers toutes les valeurs à l'intérieur du Array Fruits et les imprime à stdout.

#!/ bin / bash fruits = ("bleuet" "peach" "mango" "anneapple" "papaya") pour n dans $ fruits [@]; faire écho $ n fait 
Exemple de bash pour le tableau de boucle

Le @ L'opérateur accède ou cible tous les éléments. Cela permet d'itréter tous les éléments un par un.

De plus, vous pouvez accéder à un seul élément en spécifiant sa position dans le tableau.

Par exemple pour accéder au «mangue”Elément, remplacez le @ Opérateur avec la position de l'élément dans le tableau (le premier élément commence à 0, donc dans ce cas, "mangue«Sera indiqué par 2).

C'est à quoi ressemble la boucle pour.

#!/ bin / bash fruits = ("bleuette" "pEach" "mango" "anneapple" "papaya") pour n dans $ fruits [2]; faire écho $ n fait 
Bash pour boucles avec des éléments de tableau

Bash C-Styled pour boucles

Vous pouvez utiliser des variables à l'intérieur des boucles pour itérer sur une gamme d'éléments. C'est ici que Cyleux en C pour les boucles Entrez. L'exemple suivant illustre un Style C pour boucle qui imprime une liste de valeurs numériques de 1 à 7.

#!/ bac / bash n = 7 pour ((n = 1; n<=$n ; n++ )); do echo $n done 
Bash C-Styled for Loops Exemple

Bash-Styled pour les boucles avec des déclarations conditionnelles

Vous pouvez inclure des déclarations conditionnelles à l'intérieur Cyleux en C pour les boucles. Dans l'exemple suivant, nous avons inclus une déclaration IF-Else qui vérifie et imprime des nombres uniques et étranges entre 1 et 7.

#!/ bac / bash pour ((n = 1; n<=7; n++ )) do # Check if the number is even or not if (( $n%2==0 )) then echo "$n is even" else echo "$n is odd" fi done 
Bash C-Styled for Loops Conditional Statements Exemple

Utilisez la déclaration «Continuer» avec Bash pour Loop

Le 'continuer'L'instruction est une commande intégrée qui contrôle comment un script s'exécute. Outre les scripts bash, il est également utilisé dans les langages de programmation tels que Python et Java.

Le Continuer la déclaration arrête l'itération actuelle à l'intérieur d'un boucle Lorsqu'une condition spécifique est remplie, puis reprend l'itération.

Prendre en compte pour boucle indiqué ci-dessous.

#!/ bin / bash pour n dans 1… 10 faire si [[$ n -eq '6']] puis écho "cible $ n a été atteint" Continuer le fi echo $ n fait 
Bash for Loop Continuer la déclaration Exemple

C'est ce que fait le code:

  • Ligne 2: Marque le début de la boucle pour et itérer la variable n de 1 à 10.
  • Ligne 4: Vérifie la valeur de n et si la variable est égale à 6, le script fait écho à un message à stdout et redémarre la boucle à la prochaine itération à la ligne 2.
  • Ligne 9: Imprime les valeurs à l'écran uniquement si la condition de la ligne 4 est fausse.

Ce qui suit est la sortie attendue après l'exécution du script.

Bash For Loop Continue Instruction Sortie

Utilisez la déclaration «pause» avec bash pour boucle

Le 'casser' déclaration, comme son nom l'indique, arrête ou termine l'itération lorsqu'une condition est remplie.

Prendre en compte Pour boucle dessous.

#!/ bin / bash pour n dans 1… 10 faire si [[$ n -eq '6']] puis écho "cible $ n a été atteint" Break fi echo $ n fait echo "tout fait" 
Déclaration de pause Bash for Loop

C'est ce que fait le code:

  • Ligne 2: Marque le début de la boucle pour et itérer la variable n de 1 à 10.
  • Ligne 4: Vérifie la valeur de n et si la variable est égale à 6, le script fait écho à un message à stdout et arrête l'itération.
  • Ligne 9: Imprime les numéros à l'écran uniquement si la condition de la ligne 4 est fausse.

Depuis la sortie, vous pouvez voir que la boucle s'arrête une fois que la variable remplit la condition de la boucle.

Bash pour la sortie de l'instruction de pause Loop
Conclusion

C'était un tutoriel sur Bash pour boucles. Nous espérons que vous avez trouvé cette perspicacité. N'hésitez pas à peser avec vos commentaires.