Menu

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

Messages postés
239
Date d'inscription
mercredi 8 octobre 2008
Statut
Membre
Dernière intervention
1 mars 2014
- - Dernière réponse : niernier
Messages postés
239
Date d'inscription
mercredi 8 octobre 2008
Statut
Membre
Dernière intervention
1 mars 2014
- 15 janv. 2010 à 06:46
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 !
Afficher la suite 

2 réponses

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