[bash] un problème avec while

Résolu
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

5 réponses

  1. 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?
    1. Comme ceci peut-être ?
      while [ -n "$1" ] ;do
      shift
      done
      

      A++
  2. 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++
    1. Modérateur
      Salut,

      Essaie ça :
      nb_cdk=3;
      i=0;
      while [ "$i" -lt "$nb_cdk" ];do
              echo "salut bahan\n"
              i=$(expr $i + 1)
      done
      
      ;-))
      1. 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