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

            A++
            0