Comment utiliser la boucle while en Bash

Suraj Joshi 30 janvier 2023
  1. Syntaxe : Boucle while en Bash
  2. Exemple : while Boucle en Bash
  3. Exemple : Boucle infinie while en Bash
  4. Exemple : while Boucle en Bash avec déclaration break
  5. Exemple : while Boucle en Bash avec l’instruction continue
Comment utiliser la boucle while en Bash

La boucle while est l’une des structures de boucle les plus utilisées dans presque tous les langages de programmation. Elle est utilisée lorsque nous ne connaissons pas le nombre de fois que nous devons exécuter une boucle. Nous pouvons spécifier une condition pour la boucle while, et les instructions dans la boucle sont exécutées jusqu’à ce que la condition devienne fausse.

Syntaxe : Boucle while en Bash

while [condition]
do
   command-1
   command-2
     ...
     ...
   command-n
done

Ici, la condition représente l’état qui doit être vérifié à chaque fois avant d’exécuter des commandes dans la boucle. Si la condition est vraie, nous exécutons les instructions dans la boucle. Si la condition est fausse, nous sortons de la boucle. Les instructions de command-1 à command-n sont des instructions exécutées dans une boucle jusqu’à ce que la condition devienne fausse.

Exemple : while Boucle en Bash

#!/bin/bash

num=5

while [ $num -ge 0 ]
do
  echo $num
  ((num--))
done

Production:

5
4
3
2
1
0

Ici, initialement, num est fixé à 5. Nous continuons à imprimer num dans le terminal et à décrémenter num de 1 dans une boucle aussi longtemps que la valeur num est supérieure ou égale à 0.

Exemple : Boucle infinie while en Bash

#!/bin/bash

while true
do
  echo "This is an infinite while loop. Press CTRL + C to exit out of the loop."
  sleep 0.5
done

Production:

This is an infinite while loop. Press CTRL + C to exit out of the loop.
This is an infinite while loop. Press CTRL + C to exit out of the loop.
This is an infinite while loop. Press CTRL + C to exit out of the loop.
^C

C’est une boucle infinie qui imprime This is an infinite while loop. Press CTRL + C to exit out of the loop. toutes les 0,5 secondes. Pour sortir de la boucle, nous pouvons appuyer sur CTRL+C.

Exemple : while Boucle en Bash avec déclaration break

#!/bin/bash

num=5

while [ $num -ge 0 ]
do
  echo $num
  ((num--))
  if [[ "$num" == '3' ]]; then
    echo "Exit out of loop due to break"
    break
  fi
done

Production:

5
4
Exit out of loop due to break

Dans le programme ci-dessus, num est initialisé à 5. La boucle est exécutée tant que num est supérieur ou égal à 0. Mais comme nous avons une instruction break dans la boucle quand num est 3. Donc, nous sortons de la boucle quand la valeur de num devient 3.

Exemple : while Boucle en Bash avec l’instruction continue

#!/bin/bash

num=6

while [ $num -ge 1 ]
do
  ((num--))
  if [[ "$num" == '3' ]]; then
    echo "Ignore a step due to continue"
    continue
  fi
  echo $num
  
done

Production:

5
4
Ignore a step due to continue
2
1
0

Dans le programme ci-dessus, num est initialisé à 6. Dans la boucle, nous diminuons d’abord num de 1, puis nous imprimons la dernière valeur num. La boucle est exécutée tant que la valeur num est supérieure ou égale à 1. Lorsque num devient 3, le script n’affiche pas la valeur de num car nous avons l’instruction continue lorsque num est 3.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn