[BASH] Existe t-il un boucle do while?

Résolu
Bonjour,
Je voudrais savoir si il existait en bash une boucle do while (comme en langage C) ou s'il existait un moyen de l'imiter.

En attente d'une réponse je vous remercie !
Configuration: Linux
Firefox 3.0.17

2 réponses

  1. Les boucles en bash :

    boucle for
            #!/bin/bash
            for i in $( ls ); do
                echo item: $i
            done


    boucle while
             #!/bin/bash 
             COUNTER=0
             while [  $COUNTER -lt 10 ]; do
                 echo The counter is $COUNTER
                 let COUNTER=COUNTER+1 
             done


    boucle until
             #!/bin/bash 
             COUNTER=20
             until [  $COUNTER -lt 10 ]; do
                 echo COUNTER $COUNTER
                 let COUNTER-=1
             done


    Il n'y a donc pas de boucle do ... while à proprement dit,
    après pour faire une boucle do while il te suffit de t'assurer que tu passe une première fois dans ta boucle, la boucle until est pratique pour ça, bien que ce ne soit jamais que la négation de la while.
    0
    1. Salut,

      On peut aussi faire la boucle for à la manière C ;-)

      $ cat for.sh 
      #!/bin/bash
      for ((i=0 ; $i < 10; i++))
          do echo $i
      done
      $ sh for.sh 
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
      0