Imbrication de boucle

Résolu/Fermé
Soreon - 12 avril 2012 à 16:00
 Soreon - 12 avril 2012 à 16:22
Bonjour,

est-il possible d'imbriquer des boucles "while" en bash ?
Jusqu'à aujourd'hui, j'aurais répondu oui à cette question mais je viens de tomber sur un cas qui me fait douter.

Voici un exemple :
#!/bin/bash
a=0
b=0

while [ "$a" -le 255 ]
do
    while [ "$b" -le 255 ]
    do
        echo "$a;$b"
        b=$(($b + 1 ))
    done
    a=$(($a + 1))
done


Lorsque je lance le script, le terminal affiche :

0;0
.
.
.
0;253
0;254
0;255
Petite précision, je suis sous ubuntu 11.10.
Pouvez-vous m'éclairer ?

2 réponses

dubcek Messages postés 18723 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 11 mai 2024 5 615
12 avril 2012 à 16:18
hello
et comme ça ?
#!/bin/bash
a=0

while [ "$a" -le 255 ]
do
    b=0
    while [ "$b" -le 255 ]
    do
        echo "$a;$b"
        b=$(($b + 1 ))
    done
    a=$(($a + 1))
done

1
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
12 avril 2012 à 16:22
en complément d'info: la variable b reste a 255 lors du second passage de boucle de a :)
0
Mon dieu j'ai honte ...
Merci mille fois
0