while en
BashLes boucles while permettent d’exécuter un bloc de
commandes tant qu’une condition reste vraie.
Elles sont indispensables pour gérer les saisies utilisateur,
surveiller des fichiers, traiter des flux continus ou répéter des
actions jusqu’à un état précis.
while CONDITION; do
# commandes répétées
done
CONDITION est évaluée avant chaque
itération.[[ ... ]](( ... ))ping, grep,
etc.)readi=1
while [[ $i -le 5 ]]; do
echo "i = $i"
((i++))
done
i à 1.i est
≤ 5.i avec ((i++))reponse=""
while [[ $reponse != "oui" ]]; do
read -p "Veux-tu continuer ? (oui/non) " reponse
done
"oui".read -p affiche un message et stocke la saisie dans
reponse."oui", la condition
devient fausse → sortie de boucle.while true; do
date
sleep 1
done
true renvoie toujours vrai → la boucle ne
s’interrompt jamais.sleep 1 permet d’éviter une boucle trop
rapide.[[ ]]nombre=0
while [[ $nombre -lt 1 || $nombre -gt 10 ]]; do
read -p "Entre un nombre entre 1 et 10 : " nombre
done
||.fichier="/tmp/signal"
echo "En attente de la création de $fichier..."
while [[ ! -f "$fichier" ]]; do
sleep 1
done
echo "Le fichier existe."
-f teste l’existence d’un fichier régulier.! signifie "tant que le fichier n’existe pas".while read -r ligne; do
echo "Ligne : $ligne"
done < mon_fichier.txt
read -r lit une ligne complète sans interpréter les
\.< fichier alimente la
boucle.while read -r nom age; do
echo "$nom a $age ans."
done < users.txt
break et
continuebreaki=1
while [[ $i -le 10 ]]; do
if [[ $i -eq 5 ]]; then
break
fi
echo "i = $i"
((i++))
done
Explication : la boucle s’interrompt dès que
i vaut 5.
continuei=0
while (( i < 5 )); do
((i++))
if [[ $i -eq 3 ]]; then
continue
fi
echo "i = $i"
done
Explication : continue saute
l’itération pour i = 3.
(( ))i=0
while (( i < 5 )); do
echo "i = $i"
((i++))
done
[[ ]] mais optimisé pour les
nombres.