Ceci est une ancienne révision du document !


~~CLOSETOC~~

Boucles

<note important>Attention. Comme pour tout langage, prévoyez toujours une porte de sortie quand vous utilisez des boucles et ce afin d'éviter de créer des boucles infinies.</note>

On parle de boucle à séquence définie lorsque l'on répète un bloc d'instruction avec une quantité d’occurrence définie à l'avance. Il s'agit là d'un traitement similaire sur chaque élément d'un ensemble. Cette ensemble peut être définie par une séquence de nombre donnée par la commande seq, le nombre de ligne dans un fichier, les éléments d'un dossier, etc…

for I in $(seq 1 10)
do
    echo "$I"
done

for FILE in $(ls)
do
   du $FILE
done 

for peut avoir une autre écriture dans laquelle on indique la valeur initiale du compteur, une condition mathématique incluant le compteur et égale à 0 et le pas du compteur.

for ((I=0 ; 10 - $I ; I++))
do
    echo "$I"
done

Les boucles à séquence variable représente les boucles dont la quantité d'occurrence n'est pas définie au préalable.

while exécute un bloc d'instruction tant que sa condition est vraie.

I=1
while [[ $I -lt 10 ]]
do
    echo "$I"
    I=$(($I + 1))
done

while peut être aussi utilisé pour appliquer un traitement à toute les lignes d'un fichier grâce à l'instruction read et l'injection du fichier en question.

while read LINE
do
    echo "$LINE" | wc -m
done < /home/user/test.txt

until exécute un bloc d'instruction jusqu'à ce que sa condition soit vraie.

I=1
until [[ $I -eq 10 ]]
do
    echo "$I"
    I=$(($I + 1))
done

Nicolas THOREZ 2020/03/11 16:25

Entrer votre commentaire. La syntaxe wiki est autorisée:
 
  • bash_base_2.1583941887.txt.gz
  • Dernière modification : 2020/03/11 14:51
  • (modification externe)