
Envoyé par
heymer
$LINE =**** # je supprime les lignes que j'ai pas besoin ( un long traitement ..ici c'est pour ca j'ai mis des étoiles )
j'espère que t'as écrit LINE=*** et non $LINE=*** !!!

Envoyé par
heymer
if [ -n $LINE ] ; then NBVALIDE=$((NBVALIDE + 1)) ; fi # je test si la ligne est vide ou pas sioui , donc je concatène $NBVALIDE
Déjà tu ne "concatènes" pas NBVALIDE mais tu "l'incrémentes".
Accessoirement, si t'as qu'une instruction tu peux éviter le if...fi
Et pour finir, si la variable "LINE" est vide, ton test devient [ -n ] sans rien après "-n". Cette instruction est acceptée et renvoie vrai
Inversement, si tu suis le conseil avisé de N_BaH en écrivant
[ -n "$LINE" ] && NBVALIDE=$((NBVALIDE + 1))
Là ça fonctionnera car si la variable "LINE" est vide, le shell verra [-n ""] avec qqchose associé au "-n". Là le test sera vraiment exécuté comme tu le souhaites...
Partager