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.

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