Friday, 21/09/2018

4.3.1 - For

La boucle for permet de répéter un ensemble de commandes en fonction d'une liste d'arguments.

Syntaxe générale:

for variable in liste
do
    commandes
done

 

Durant chacune des répétitions de la boucle (appelé itération), la valeur de la variable est modifiée selon une liste dont chacun des éléments est séparé par un espace. Il est possible de modifier le séparateur en modifiant la variable d'environnement IFS.

Exemple:

#!/bin/bash
liste="1 4 3 7 allo fin"
for boucle in $liste
do
    echo "Le contenu de la variable \"boucle\" est $boucle"
done

 

Certaines personnes , ayant déjà programmé dans un langage évolué (Pascal, C, etc.), auront remarqué que, pour exécuter une boucle dix fois, il faudra inscrire for variable in 1 2 3 4 5 6 7 8 9 10. Que penser de 100 fois ou 1000 fois!

Il existe un commande seq permettant d'obtenir la séquence de nombres entre deux intervalles et celle-ci peut être utilisée pour ce type de boucle.

Exemple:

#!/bin/bash
for variable in $(seq 1 10)
do
    echo -en "\t$variable"
done
echo