Recherche sur le site Web

Comment utiliser les instructions Break and Continue dans les scripts Shell


Dans cet article, nous allons jeter un oeil à la façon d’utiliser une pause et de continuer dans les scripts bash. Dans bash, nous avons trois constructions de boucle principale (pour, tandis que, jusqu’à ce que). Casser et continuer les instructions sont bash intégré et utilisé pour modifier le flux de vos boucles. Ce concept de break and continue est disponible dans les langages de programmation populaires comme Python.

type -a break continue

Quittez la boucle avec une instruction de rupture

L’instruction de rupture sortira de la boucle et le contrôle est passé à l’instruction suivante dans la boucle. Vous pouvez exécuter la commande d’aide pour obtenir des informations sur l’instruction de rupture.

help break

La syntaxe de base de la pause.

break [n]

n is optional

Jetez un oeil à l’exemple ci-dessous. Il s’agit d’une boucle for simple qui itère sur une plage de valeurs de 1 à 20 dans une étape incrémentielle de 2. L’instruction conditionnelle évaluera l’expression et quand elle est vraie($val=9), elle exécutera l’instruction de rupture et la boucle sera terminée 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 instruction continue

Que se passe-t-il si vous ne voulez 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 déclaration continue. L’instruction continue ignore l’exécution du bloc de code lorsqu’une certaine condition est remplie et que le contrôle est renvoyé à l’instruction de boucle pour la prochaine itération.

Pour accéder à de l’aide.

help continue

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

#!/usr/bin/bash

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

Si vous saviez que python alors casser et continuer le comportement est le même dans python trop. Mais python fournit une autre instruction de contrôle de boucle appelée une passe.

Pass est comme une instruction null et l’interprète le lira mais n’effectuera aucune opération. Il en résulte tout simplement aucune opération. Bash ne fournit pas d’instruction similaire, mais nous pouvons émuler ce comportement en utilisant le vrai mot-clé ou deux-points (:). True et deux-points sont tous deux construits dans la coquille et n’effectuent aucune opération.

type -a : true

Jetez un oeil à l’exemple ci-dessous. Lorsqu’une instruction conditionnelle est évaluée comme vraie($val=9), l’instruction true ne fera rien et la boucle se poursuivra.

#!/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 aimerions entendre vos précieux commentaires et tous les conseils que vous avez.

Articles connexes: