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))
doneCe 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"
doneFais 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.
Défi
FacileCréez un script shell appelé counter.sh qui utilise une boucle while pour afficher 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, afficher le nombre actuel au format suivant :
Number: [num] - Incrémenter
numde 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: 4Astuce : 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))afin d’éviter une boucle infinie. Terminez votre boucle while pardone.
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éesEntraînez-vous par vous-même : Playground Terminal