Probleme sur loop while

Résolu
Temus Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
Temus Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   6 431
 
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   Statut Membre Dernière intervention  
 
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   Statut Contributeur Dernière intervention   6 431
 
Oups... il manque un espace avant les doubles crochets fermants ;-(
while [[ $i -lt $NHYCPAR ]]; do ...
0
Temus Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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