Bash while Loop

Dernière mise à jour le mardi 19 avr. 2022

bash while

Les boucles sont l’un des concepts fondamentaux des langages de programmation.Les boucles sont pratiques lorsque vous souhaitez exécuter une série de commandes plusieurs fois jusqu’à ce qu’une condition particulière soit remplie.

  • Dans les langages de script tels que Bash, les boucles sont utiles pour automatiser les tâches répétitives.
  • Il existe trois constructions de boucle de base dans les scripts Bash, pour boucle , en boucle et jusqu’à boucle.

La boucle while est utilisée pour exécuter un ensemble donné de commandes un nombre inconnu de fois tant que la condition donnée est évaluée à true.

Syntax

	while [CONDITION]
do
  [COMMANDS]
done
	

bash while loop

L’instruction while commence par le mot-clé while, suivi de l’expression conditionnelle.

Avec l’exemple ci-dessous, à chaque itération, la valeur actuelle de la variable i est imprimée et incrémentée d’un.

	i=0

while [ $i -le 4 ]
do
  echo $i
  ((i++))
done
	

Production

	0
1
2
3
4
	

bash while loop

Infinite while Loop

  • Une boucle infinie est une boucle qui se répète indéfiniment et ne se termine jamais.
  • Si la condition est toujours évaluée à true, vous obtenez une boucle infinie.
	while :
do
  echo "Press <CTRL+C> to exit."
  sleep 1
done
	

La boucle while ci-dessus s’exécutera indéfiniment. Vous pouvez terminer la boucle en appuyant sur CTRL+C.

boucle while bash

Read a File Line By Line

Parfois, vous devez lire un fichier, un flux de données ou une variable ligne par ligne.

	file=/etc/myfile

while read -r line; do
  echo $line
done < "$file"
	
  • Nous utilisons la redirection d’entrée (<$file) pour passer un fichier à la commande read, qui contrôle la boucle.
  • La boucle while s’exécutera jusqu’à ce que la dernière ligne soit lue.

bash loop while

break and continue Statements

  • Les instructions break et continue peuvent être utilisées pour contrôler l’exécution de la boucle while.

break Statement

  • L’instruction break met fin à la boucle en cours et transmet le contrôle du programme à la commande qui suit la boucle terminée.
  • Il est généralement utilisé pour terminer la boucle lorsqu’une certaine condition est remplie.
	i=0

while [ $i -lt 4 ]
do
  echo $i
  ((i++))
  if [[ $i == 3 ]]; then
    break
  fi
done

echo 'All Done!'
	

Production

	0
1
2
All Done!
	

bash continue

continue Statement

L’instruction continue quitte l’itération en cours d’une boucle et transmet le contrôle de programme à l’itération suivante de la boucle.

	i=0

while [ $i -lt 5 ]
do
  ((i++))
  if [[ "$i" == '5' ]]; then
    continue
  fi
  echo "$i"
done

echo 'All Done!'
	

Production

	1
2
3
4
All Done!