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

Résolu
niernier Messages postés 239 Date d'inscription   Statut Membre Dernière intervention   -  
niernier Messages postés 239 Date d'inscription   Statut Membre Dernière intervention   -
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 !
A voir également:

2 réponses

scriptiz Messages postés 1424 Date d'inscription   Statut Membre Dernière intervention   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
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