Boucles
Table des matières
- Boucle for
- Boucle while
- Boucle until
- Contrôle de flux : break et continue
- Lecture de fichiers
- Exercices pratiques
1 - Boucle for
Syntaxe de base
for variable in liste; do
# commandes
done
Itération sur une liste
# Liste explicite
for fruit in pomme banane orange; do
echo "Fruit: $fruit"
done
# Avec tableau
fruits=("pomme" "banane" "orange")
for fruit in "${fruits[@]}"; do
echo "Fruit: $fruit"
done
Expansion de séquence
# Avec {start..end}
for i in {1..5}; do
echo "Numéro: $i"
done
# Avec incrément
for i in {0..10..2}; do
echo "Pair: $i" # 0, 2, 4, 6, 8, 10
done
# Avec seq (plus ancien)
for i in $(seq 1 5); do
echo "$i"
done
Boucle for style C
# Syntaxe (( ))
for ((i=0; i<5; i++)); do
echo "Index: $i"
done
# Avec plusieurs variables
for ((i=0, j=10; i<5; i++, j--)); do
echo "i=$i, j=$j"
done
Itération sur fichiers
# Tous les fichiers .txt
for file in *.txt; do
echo "Fichier: $file"
done
# Fichiers dans un répertoire
for file in /var/log/*; do
if [ -f "$file" ]; then
echo "Fichier: $file"
fi
done
# Avec find (plus robuste)
while IFS= read -r -d '' file; do
echo "Fichier: $file"
done < <(find /var/log -name "*.log" -print0)
Itération sur lignes d'une commande
# Résultat d'une commande
for user in $(cut -d: -f1 /etc/passwd); do
echo "Utilisateur: $user"
done
# Attention aux espaces !
# Utiliser while read pour les lignes avec espaces
🔝 Retour à la table des matières
2 - Boucle while
Syntaxe
while [ condition ]; do
# commandes
done
Exemples
# Compteur
count=0
while [ $count -lt 5 ]; do
echo "Count: $count"
((count++))
done
# Avec [[ ]]
i=0
while [[ $i -lt 10 ]]; do
echo $i
((i++))
done
# Boucle infinie
while true; do
echo "Appuyez Ctrl+C pour arrêter"
sleep 1
done