Menu
Coddy logo textTech

La boucle while

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 72 sur 82.

La boucle for est idéale lorsque vous connaissez exactement les éléments à parcourir. Mais que faire si vous voulez continuer à boucler jusqu’à ce qu’une certaine condition change ? C’est là que la boucle while entre en jeu.

Une boucle while continue à s'exécuter tant que sa condition reste vraie. Voici la structure de base :

#!/bin/bash
count=1
while [ $count -le 5 ]; do
    echo "Count: $count"
    count=$((count + 1))
done

Ce script affiche les nombres de 1 à 5.

La boucle vérifie si count est inférieur ou égal à 5. Si c’est le cas, elle exécute le corps, incrémente le compteur en utilisant $((...)) pour l’arithmétique, et vérifie à nouveau.

Une fois que count atteint 6, la condition devient fausse et la boucle s’arrête.

Les boucles while sont parfaites lorsque vous ne connaissez pas à l'avance le nombre d'itérations nécessaires. Par exemple, vous pourriez continuer à demander une saisie jusqu'à ce que l'utilisateur tape « quit » :

#!/bin/bash
input=""
while [ "$input" != "quit" ]; do
    read -p "Enter command (quit to exit): " input
    echo "You entered: $input"
done

Faites attention aux boucles while. Si la condition ne devient jamais false, votre boucle s'exécute indéfiniment.

Assurez-vous toujours que quelque chose à l'intérieur de la boucle modifie finalement la condition, comme incrémenter un compteur ou mettre à jour une variable en fonction de l'entrée utilisateur.

challenge icon

Défi

Facile

Créez un script shell appelé counter.sh qui utilise une boucle while pour imprimer les nombres de 1 à 4.

Votre script doit :

  1. Commencer par la ligne shebang (#!/bin/bash)
  2. Créer une variable appelée num avec la valeur initiale 1
  3. Utiliser une boucle while qui continue tant que num est inférieur ou égal à 4
  4. À l'intérieur de la boucle, imprimer le nombre actuel au format : Number: [num]
  5. Incrémenter num de 1 après chaque itération en utilisant $((num + 1))

Rendez le script exécutable et exécutez-le. Votre sortie devrait être :

Number: 1
Number: 2
Number: 3
Number: 4

Indice : Utilisez -le pour la comparaison « inférieur ou égal à ». N'oubliez pas d'incrémenter le compteur à l'intérieur de la boucle avec num=$((num + 1)) pour éviter une boucle infinie. Terminez votre boucle while avec done.

Aide-mémoire

Une boucle while continue de s'exécuter tant que sa condition reste vraie :

#!/bin/bash
count=1
while [ $count -le 5 ]; do
    echo "Count: $count"
    count=$((count + 1))
done

La boucle vérifie la condition avant chaque itération. Utilisez $((...)) pour les opérations arithmétiques afin d'incrémenter les compteurs.

Les boucles while sont utiles lorsque vous ne connaissez pas à l'avance le nombre d'itérations nécessaires, comme pour attendre une entrée utilisateur spécifique :

#!/bin/bash
input=""
while [ "$input" != "quit" ]; do
    read -p "Enter command (quit to exit): " input
    echo "You entered: $input"
done

Assurez-vous toujours que quelque chose à l'intérieur de la boucle modifie éventuellement la condition pour éviter les boucles infinies.

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Les fondamentaux