Menu
CoddyTech

La boucle while

Fait partie de la section Fondamentaux du Journey Terminal de Coddy. Leçon 72 sur 82.

La boucle for est idéale lorsque tu sais exactement sur quels éléments itérer. Mais que faire si tu veux continuer à boucler jusqu’à ce qu’une certaine condition change ? C’est là qu’intervient la boucle while.

Une boucle while continue de 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 à l’aide de $((...)) pour effectuer l’opération arithmétique, puis vérifie à nouveau.

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

Les boucles while sont parfaites lorsque tu ne sais pas à l’avance combien d’itérations tu auras besoin. Par exemple, tu peux 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

Fais attention aux boucles while. Si la condition ne devient jamais fausse, ta boucle s’exécute indéfiniment.

Assure-toi toujours que quelque chose à l’intérieur de la boucle finisse par modifier la condition, par exemple en incrémentant un compteur ou en mettant à jour une variable en fonction de la saisie de l’utilisateur.

challenge icon

Défi

Facile

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

Ton 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, afficher le nombre actuel au format : Number: [num]
  5. Incrémenter num de 1 après chaque itération à l’aide de $((num + 1))

Rends le script exécutable et lance-le. Le résultat doit être :

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

Conseil : Utilise -le pour la comparaison « inférieur ou égal à ». Pense à incrémenter le compteur dans la boucle avec num=$((num + 1)) pour éviter une boucle infinie. Termine ta boucle while par done.

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 Fondamentaux

Entraînez-vous par vous-même : Playground Terminal