Rechercher : dans
Par :

[bash] un problème avec while

Dernière réponse le 24 nov 2008 à 15:04:17 B@|-|@N, le 16 fév 2005 à 11:49:12 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [bash] un problème avec while » dans :
Bash - Les paramètres Voir Introduction Les paramètres positionnels Exemple 1 Les paramètres spéciaux Exemple 2 Initialiser des paramètres - La commande "set" - Exemples - La commande "shift" - Exemple 3 Introduction Il est possible de fournir à un script,...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
[Bash] La variable d'environnement PATH VoirLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou...
Guide d'utilisation du Shell pour débutant VoirSHELL BASH - GUIDE D'UTILISATION - Niveau Débutant Introduction Appel aux membres CCM II. C'est quoi le shell ? III. Comment accéder à la ligne de commande IV. Les consoles virtuelles Exemple : Accéder à la console 3 depuis l'interface...

1

mali44, le 16 fév 2005 à 12:12:04

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

Répondre à mali44

2

jipicy, le 16 fév 2005 à 12:33:01

Salut,

Essaie ça :

nb_cdk=3;
i=0;
while [ "$i" -lt "$nb_cdk" ];do
        echo "salut bahan\n"
        i=$(expr $i + 1)
done
;-)) Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Dans la vie on est toujours pauvre de savoir. 

Répondre à jipicy

3

mali44, le 16 fév 2005 à 13:51:41

Le mien fonctionne ;-)))

Répondre à mali44

4

Ravachol, le 16 fév 2005 à 16:08:15

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++ L'homme n'est pas fait pour le travail et la preuve,
c'est que ça le fatigue. Tristan Bernard

Répondre à Ravachol

5

mali44, le 16 fév 2005 à 21:07:53

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?

Répondre à mali44

6

 Ravachol, le 16 fév 2005 à 23:18:19
  • +3

Comme ceci peut-être ?

while [ -n "$1" ] ;do
shift
done

A++ L'homme n'est pas fait pour le travail et la preuve,
c'est que ça le fatigue. Tristan Bernard

Répondre à Ravachol