Recherche de site Web

Comment utiliser les instructions Break et Continue dans les scripts Shell


Dans cet article, nous verrons comment utiliser un break et un continue dans les scripts bash. Dans bash, nous avons trois constructions de boucles principales (pour, pendant, jusqu'à). Les instructions Break et continue sont intégrées à bash et utilisées pour modifier le flux de vos boucles. Ce concept de pause et de continuation est disponible dans les langages de programmation populaires comme Python.

type -a break continue

Quittez la boucle avec une instruction Break

L'instruction break sortira de la boucle et le contrôle sera passé à l'instruction suivante de la boucle. Vous pouvez exécuter la commande help pour obtenir des informations sur l'instruction break.

help break

La syntaxe de base de break.

break [n]

n is optional

Jetez un œil à l’exemple ci-dessous. Il s'agit d'une simple boucle for qui parcourt une plage de valeurs de 1 à 20 par incréments de 2. L'instruction conditionnelle évaluera l'expression et lorsqu'elle est true($val=9) alors il exécutera l'instruction break et la boucle se terminera en ignorant les itérations restantes.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
     break
  else
  echo "printing ${val}"
fi
done

Ignorer une itération avec l'instruction continue

Que se passe-t-il si vous ne souhaitez pas sortir complètement de la boucle mais ignorer le bloc de code lorsqu'une certaine condition est remplie ? Cela peut être fait avec une instruction continue. L'instruction continue ignorera l'exécution du bloc de code lorsqu'une certaine condition est remplie et le contrôle sera renvoyé à l'instruction de boucle pour l'itération suivante.

Pour accéder à l'aide.

help continue

Jetez un œil à l’exemple ci-dessous. C'est le même exemple que nous avons utilisé pour démontrer l'instruction break. Désormais, lorsque Val est évalué à neuf, l'instruction continue ignorera tous les blocs de code restants et passera le contrôle à la boucle for pour l'itération suivante.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      continue
  fi
  echo "printing ${val}"
done

Si vous connaissiez python, alors le comportement break et continue est également le même en python. Mais Python fournit une autre instruction de contrôle de boucle appelée pass.

Pass est comme une instruction nulle et l'interprète la lira mais n'effectuera aucune opération. Il en résulte simplement aucune opération. Bash ne fournit pas d'instruction similaire mais nous pouvons émuler ce comportement en utilisant le mot-clé true ou colon(:). true et deux-points sont tous deux intégrés au shell et n'effectuent aucune opération.

type -a : true

Jetez un œil à l’exemple ci-dessous. Lorsqu'une instruction conditionnelle est évaluée comme étant true($val=9) alors l'instruction true ne fera rien et la boucle continuera.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      true
  fi
  echo "printing ${val}"
done

C'est tout pour cet article. Nous serions ravis d’entendre vos précieux commentaires et tous vos conseils.