next up previous contents Next: Boucles sur des motifs Up: Les scripts du shell. Previous: Boucles: l'instruction for.   Table des matières  

8.4 Arrêt de boucles et relance.

Une boucle qui requiert une terminaison prématurée peut comprendre une instruction break:

#!/bin/sh 

for i in 0 1 2 3 4 5 6 7 8 9; do

      NEW_FILE=$1.BAK-$i

      if test -e $NEW_FILE; then

         echo "backup-lots.sh: **error** $NEW_FILE"

         echo "                already exists - exiting"

         break

      else

         cp $1 $NEW_FILE

      fi

done 



Ceci permet de sortir du programme en allant sur la ligne après le done. Si deux boucles sont imbriquées, la commande break 2 provoquera l'arrêt de l'exécution sur les 2 boucles; et ainsi de suite pour les valeurs supérieures à 2.

L'instruction continue est aussi utile pour clôturer l'itération d'une boucle. Si l'instruction continue est rencontrée, l'exécution est poursuivie à partir du début de la boucle suivante, donc en ignorant le corps des boucles restant à effectuer:

#!/bin/sh

for i in 0 1 2 3 4 5 6 7 8 9; do

      NEW_FILE=$1.BAK-$i

      if test -e $NEW_FILE; then

              echo "backup-lots.sh: **warning** $NEW_FILE"

              echo "                already exists - skipping"

              continue

      fi

              cp $1 $NEW_FILE

done 



Notez bien que break et continue fonctionnent dans des boucles for, while et until.


next up previous contents Next: Boucles sur des motifs Up: Les scripts du shell. Previous: Boucles: l'instruction for.   Table des matières  
1-01-2006