Probleme sur loop while

Résolu/Fermé
Temus Messages postés 3 Date d'inscription mardi 14 août 2012 Statut Membre Dernière intervention 14 août 2012 - 14 août 2012 à 11:42
Temus Messages postés 3 Date d'inscription mardi 14 août 2012 Statut Membre Dernière intervention 14 août 2012 - 14 août 2012 à 12:03
Bonjour à tous,

je viens ici car je rencontre un étrange problème dans l'écriture d'un script ksh:

i=0
while [[ $i -lt $NHYCPAR]] do

    ListVar='find . -name'${HYCPAR[$i]}.nc''
    if [-z $ListVar]
        then
            echo "variable "${HYCPAR[$i]}" non-presente"
        else
            ncrcat ListVar ${NC_FIN}/${HYCPAR[$i]}.nc
    fi
i=$(($i+1))
done


et quand j'éxécute il me dit
"unexpected do" pourtant partout sur le net je n'ai trouvé que cette syntaxe pour les boucles while :(

Auriez-vous une idée?
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
14 août 2012 à 11:45
Salut,

Il manque un point virgule avant le "do" :
while [[ $i -lt $NHYCPAR]]; do ...

Ou un passage à la ligne :
while [[ $i -lt $NHYCPAR]] 
do ...
0
Temus Messages postés 3 Date d'inscription mardi 14 août 2012 Statut Membre Dernière intervention 14 août 2012
Modifié par Temus le 14/08/2012 à 11:55
oh rage! oh désespoir!

J'ai essayé ces deux syntaxes également mais rien n'y fait...

Quand j'essaie avec le ; il me dit "unexpected ;"

Et avec l'autre toujours "unexpected do".

up: il semblerait que l'espace avec le $i de la condition du while contenait un char invisible car en le supprimant une erreur subsiste mais totalement différente. Merci des suggestions syntaxiques en tout cas.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 418
14 août 2012 à 11:54
Oups... il manque un espace avant les doubles crochets fermants ;-(
while [[ $i -lt $NHYCPAR ]]; do ...
0
Temus Messages postés 3 Date d'inscription mardi 14 août 2012 Statut Membre Dernière intervention 14 août 2012
14 août 2012 à 12:03
ah oui tiens. Ca marche mieux avec un espace au debut et à la fin de la condition...Bizarre çà. Bon une erreure persiste mais encore autre chose^^ ca ne rentre plus dans le cadre du topic ;)

Merci du coup de main!
0