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

Résolu
niernier Messages postés 256 Statut Membre -  
niernier Messages postés 256 Statut Membre -
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. scriptiz Messages postés 1494 Statut Membre 425
     
    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. lami20j
       
      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