[BASH] Existe t-il un boucle do while? [Résolu/Fermé]

Signaler
Messages postés
239
Date d'inscription
mercredi 8 octobre 2008
Statut
Membre
Dernière intervention
1 mars 2014
-
Messages postés
239
Date d'inscription
mercredi 8 octobre 2008
Statut
Membre
Dernière intervention
1 mars 2014
-
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 !

2 réponses

Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
412
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.
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
Messages postés
239
Date d'inscription
mercredi 8 octobre 2008
Statut
Membre
Dernière intervention
1 mars 2014
5
Merci pour vos réponse, je vais me débrouiller avec une boucle until je pense.