[bash] un problème avec while

Résolu/Fermé
B@|-|@N Messages postés 386 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 7 décembre 2007 - 16 févr. 2005 à 11:49
Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 - 16 févr. 2005 à 23:18
Bonjour.

J'ai un problème avec la syntaxe de while.
Voici mon code :
nb_cdk=3; 
i=0;
while { $i < $nb_cdk }; do
        echo "salut bahan\n";
        i=${expr $i + 1};
done

En fait, je veux juste répéter salut Bahan 3 fois, soit tant que $i < 3. Cependant, ma syntaxe n'est pas bonne du tout... Quelqu'un s'y connait en syntaxe du while (en bash) ?

Merci d'avance.

Bahan

Close the world.||.txen eht nepO
A voir également:

5 réponses

mali44 Messages postés 180 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 24 novembre 2005 3
16 févr. 2005 à 12:12
slt,
bon je ne suis pas un pro, j'essaie aussi de m'y mettre:
nb_cdk=3
i=0
while (( $i < $nb_cdk )) ;do
echo "salut bahan\n";
i=$((i + 1));
done
les (()) sont pour les tests arithmétiques
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
16 févr. 2005 à 12:33
Salut,

Essaie ça :
nb_cdk=3;
i=0;
while [ "$i" -lt "$nb_cdk" ];do
        echo "salut bahan\n"
        i=$(expr $i + 1)
done
;-))
0
mali44 Messages postés 180 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 24 novembre 2005 3
16 févr. 2005 à 13:51
le mien fonctionne ;-)))
0
Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
16 févr. 2005 à 16:08
Salut,
Tiens, puisqu'on est dans les exercices de style ;-)
declare -i nb_cdk
nb_cdk=3
declare -i i
i=0
while ((i<nb_cdk));
do
  echo "salut bahan\n"
  let i=i+1
done

A++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mali44 Messages postés 180 Date d'inscription mercredi 12 mai 2004 Statut Membre Dernière intervention 24 novembre 2005 3
16 févr. 2005 à 21:07
et bien puisque ces petits exercices passionent j'ai une question!

je veux faire tourner un while autant de fois que le script à d'arguments
comment définir la sortie de while?

while [ -n $1 ] ;do
shift
done

ne fonctionne pas et tourne en boucle qque soit le nbre de paramètre du script

while [ $1 != '' ] ne fonctionne pas non plus?
0
Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
16 févr. 2005 à 23:18
Comme ceci peut-être ?
while [ -n "$1" ] ;do
shift
done

A++
0