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 tu sais exactement quels éléments parcourir. Mais que faire si tu veux continuer la boucle jusqu'à ce qu'une certaine condition change ? C'est là que la boucle while intervient.

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 vrai, elle exécute le corps, incrémente le compteur en utilisant $((...)) pour l’arithmétique, puis 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 savez pas à l’avance combien d’itérations sont nécessaires. Par exemple, vous pouvez continuer à demander une saisie jusqu’à ce que l’utilisateur saisisse « 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.

Assurez-vous toujours que quelque chose à l’intérieur de la boucle finit par modifier la condition, par exemple en incrémentant un compteur ou en mettant à jour une variable en fonction de l’entrée de l’utilisateur.

challenge icon

Défi

Facile

Créez un script shell appelé counter.sh qui utilise une boucle while pour afficher 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, afficher le nombre actuel au format suivant : Number: [num]
  5. Incrémenter num de 1 après chaque itération à l’aide de $((num + 1))

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

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

Astuce : 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)) afin d’éviter une boucle infinie. Terminez votre 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 Les fondamentaux

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