Menu
Coddy logo textTech

La boucle for

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 71 sur 82.

Parfois, vous devez répéter une action plusieurs fois. Au lieu d'écrire la même commande encore et encore, vous pouvez utiliser une boucle for pour itérer à travers une liste d'éléments et effectuer une action sur chacun d'eux.

Voici la structure de base d'une boucle for en Bash :

#!/bin/bash
for name in Alice Bob Charlie; do
    echo "Hello, $name!"
done

Ce script affiche une salutation pour chaque nom dans la liste. La variable name prend chaque valeur à son tour : d'abord «Alice», puis «Bob», puis «Charlie». Le mot-clé do marque le début du corps de la boucle, et done la termine.

Les boucles for sont particulièrement puissantes lorsqu'elles sont combinées avec des wildcards. Vous pouvez parcourir tous les fichiers d'un répertoire :

#!/bin/bash
for file in *.txt; do
    echo "Processing $file"
done

Cela parcourt chaque fichier .txt dans le répertoire courant. À chaque itération, la variable file contient le nom du fichier actuel, vous permettant d’effectuer des opérations sur chaque fichier automatiquement.

Vous pouvez également parcourir une plage de nombres en utilisant l'expansion des accolades :

#!/bin/bash
for i in {1..5}; do
    echo "Number: $i"
done

Cela affiche les nombres de 1 à 5. Les boucles for transforment les tâches répétitives en seulement quelques lignes de code, rendant vos scripts plus efficaces et plus faciles à maintenir.

challenge icon

Défi

Facile

Créez un script shell appelé countdown.sh qui utilise une boucle for pour afficher un compte à rebours de 5 à 1.

Votre script doit :

  1. Commencer par la ligne shebang (#!/bin/bash)
  2. Utiliser une boucle for avec l'expansion des accolades pour itérer à travers les nombres de 5 à 1
  3. Afficher chaque nombre sur sa propre ligne au format : Countdown: [number]

Rendez le script exécutable et exécutez-le. Votre sortie devrait être :

Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1

Indice : Utilisez {5..1} pour créer une plage descendante. À l'intérieur de la boucle, utilisez echo "Countdown: $i"i est votre variable de boucle.

Aide-mémoire

Une boucle for vous permet d'itérer à travers une liste d'éléments et d'effectuer une action sur chacun d'eux.

Syntaxe de base :

for variable in list; do
    # commands
done

Parcourir une liste de valeurs :

for name in Alice Bob Charlie; do
    echo "Hello, $name!"
done

Parcourir des fichiers en utilisant des jokers :

for file in *.txt; do
    echo "Processing $file"
done

Parcourir une plage de nombres en utilisant l'expansion des accolades :

for i in {1..5}; do
    echo "Number: $i"
done

Pour les plages décroissantes, inversez l'ordre :

for i in {5..1}; do
    echo "Number: $i"
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