Exemples de boucles Bash For et While

Comme tout autre langage de script, Bash prend également en charge les boucles.

Les boucles sont parfaites pour effectuer des tâches répétitives. Nous pouvons utiliser des boucles for et while dans nos scripts Bash.



Bash For Loop

La syntaxe de la boucle for est:


for VARIABLE in PARAM1 PARAM2 PARAM3 do // scope of for loop done

La boucle for s'exécutera pour chaque paramètre. Les paramètres peuvent être des nombres, une plage de nombres ou des chaînes, etc.

Exemple de boucle Bash For

Cet exemple simple imprime les nombres, 1 à 5 en utilisant la boucle for:


#!/bin/bash for i in 1 2 3 4 5 do echo '$i' done

Production:

1 2 3 4 5

Bash For Loop - Imprimer une plage de nombres

Nous pouvons également définir une plage de nombres à parcourir:

Par example:

for i in {1..5} do echo '$i' done

Production:


1 2 3 4 5

Bash Loop Through Strings

Nous pouvons également utiliser la boucle for pour parcourir les paramètres de chaîne:

#!/bin/bash for day in MON TUE WED THU FRI SAT SUN do echo '$day' done

Production:

MON TUE WED THU FRI SAT SUN

Bash For Loop - Style C

Nous pouvons également utiliser une syntaxe de style C pour écrire la boucle for. Par example:

#!/bin/bash for ((i=1; i<=5; i++)) do echo '$i' done

Production


1 2 3 4 5

Boucle For pour imprimer la liste des fichiers dans le répertoire actuel

Pour lister tous les fichiers du répertoire courant en utilisant la boucle bash for, nous utilisons:

#!/bin/bash for fname in ./ do ls -l $fname done

Bash While Loop

Bash prend également en charge les boucles while. Les boucles While exécutent un ensemble d'instructions jusqu'à ce qu'une condition soit évaluée à true.

La syntaxe de la boucle while Bash est:

while [condition] do //execute instructions done

La condition est évaluée avant d'exécuter des instructions. Par conséquent, il est nécessaire d'avoir un moyen de mettre à jour la condition, sinon la boucle s'exécutera pour toujours.


Exemple de boucle Bash While

Ce qui suit est une simple boucle while qui imprime les nombres 1 à 5. La boucle se termine lorsque le nombre est supérieur à 5.

#!/bin/bash num=1 while [ $num -le 5 ] do echo '$num' let num++ done

Boucle While Bash C-Style

Comme la boucle for, nous pouvons également écrire la boucle bash while dans un langage de type C.

Par example:

#!/bin/bash num=1 while((num <= 5)) do echo $num let num++ done