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))
doneCe 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"
doneFaites 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.
Défi
FacileCréez un script shell appelé counter.sh qui utilise une boucle while pour imprimer les nombres de 1 à 4.
Votre script doit :
- Commencer par la ligne shebang (
#!/bin/bash) - Créer une variable appelée
numavec la valeur initiale1 - Utiliser une boucle while qui continue tant que
numest inférieur ou égal à 4 - À l'intérieur de la boucle, imprimer le nombre actuel au format :
Number: [num] - Incrémenter
numde 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: 4Indice : Utilisez
-lepour la comparaison « inférieur ou égal à ». N'oubliez pas d'incrémenter le compteur à l'intérieur de la boucle avecnum=$((num + 1))pour éviter une boucle infinie. Terminez votre boucle while avecdone.
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))
doneLa 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"
doneAssurez-vous toujours que quelque chose à l'intérieur de la boucle modifie éventuellement la condition pour éviter les boucles infinies.
Essayez vous-même
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
4Répertoires
Créer Un RépertoireCopier Un RépertoireDéplacer Et Renommer Un RépertoireSupprimer Un RépertoireRécapitulatif - Opérations Sur Les Répertoires7Contenu de fichier
Head et TailComptage de motsCommande SortCommande UniqBases de GrepGrep avec optionsRécap - Détective de texte10Projet Analyseur de Journaux
Aperçu du ProjetAffichage du Fichier Journal2Navigation
Afficher le répertoire de travailLister les fichiersChanger de répertoireChemins absolus vs relatifsRépertoire personnel et racineRécap - Trouver son chemin5Projet Organiser les Photos
Aperçu du ProjetCréation de la Structure8Redirection
Sortie standardÉcraser vers un fichierAjouter à un fichierEntrée standardErreur standardRécapitulatif - Constructeur de logs11Permissions
Comprendre les permissionsLire les permissionsChmod avec des nombresChmod avec des symbolesPropriété des fichiersRécapitulatif - Verrouillez tout14Projet de Script de Sauvegarde
Aperçu du ProjetObtenir le Chemin Source3Fichiers
Créer Un FichierLire Un FichierCopier Un FichierDéplacer Et Renommer Un FichierSupprimer Un FichierRécapitulatif - Opérations Sur Les Fichiers6Caractères jokers et motifs
Le joker étoileLe joker point d'interrogationJokers entre crochetsCombiner les jokersRécapitulatif - Opérations sélectives9Les pipes
Qu'est-ce qu'une pipe ?Chaîner deux commandesChaîner plusieurs commandesPipe avec GrepRécapitulatif - Pipeline de données