Les boucles sont des structures critiques dans n'importe quel langage de programmation, et elles jouent un rôle dans l'exécution de tâches répétitives qui seraient autrement fastidieuses et chronophages à exécuter dans du code normal. Dans les scripts bash, les boucles ont le même objectif et dans ce guide, nous examinons de plus près les différents types de boucles et leur utilisation.
Pour les boucles
Une boucle For est utilisée pour itérer sur une liste d'objets ou d'éléments. La liste peut comprendre des nombres, des chaînes, des caractères ou même des tableaux.
Une boucle for prend la structure suivante.
for item in list_of_items do command1 command2 done
Prenons quelques exemples :
Boucle sur une liste de chaînes
Dans l'exemple ci-dessous, nous parcourons une liste de chaînes - dans ce cas, des planètes - qui comprend quatre éléments. Après itération, nous imprimerons chaque élément sur le perdu en utilisant l'écho commande.
for planet in Mercury Venus Earth Mars Jupiter do echo $planet done
Ensuite, attribuez des autorisations d'exécution et exécutez le for_loop.sh script bash. La sortie affiche tous les éléments contenus dans la liste.
$ ./for_loop.sh
Boucle sur une plage de nombres
Avec les boucles for, vous pouvez également spécifier une séquence dans une plage de nombres en définissant le point de départ et le point final à l'aide de l'expression de séquence fournie.
{START..END}
L'exemple ci-dessous présente une boucle for qui affiche les nombres de 1 à 10
for n in {0..10} do echo value: $n done
L'exécution de la boucle vous donne la sortie affichée.
De plus, vous pouvez spécifier le nombre d'incréments pas à pas entre les valeurs à l'aide de l'expression de séquence suivante.
{START..END..STEPWISE_INCREMENT}
Par exemple, la boucle ci-dessous affiche les nombres de 1 à 10 avec une augmentation de 2 entre les valeurs.
for n in {0..10..2} do echo value: $n done
Lorsqu'elle est exécutée, la boucle donne la sortie suivante.
Boucle sur un tableau d'éléments
En outre, vous pouvez tirer parti des boucles for pour itérer sur un tableau d'éléments. Par exemple, nous avons ici un tableau appelé "MOVIES" avec différents éléments qui sont des titres de films.
#!/bin/bash MOVIES=('Happy Feet' 'Who killed Sara' 'Lupin' 'Money Heist' 'House of cards') for movie in "${MOVIES[@]}"; do echo Movie: $movie done
Lorsque le script est exécuté, la boucle for itère sur tout le tableau et imprime les titres de films comme indiqué.
Résumé
Comme vous l'avez observé, les boucles for sont assez simples et pratiques. Ils permettent d'obtenir un code plus propre en éliminant le code répétitif qui prend du temps pour l'utilisateur. Les tâches répétitives peuvent facilement être effectuées en quelques lignes simples.