L'autre possibilité si tu veux vraiment utiliser -ne, c'est de faire :
if [ "x$var" -ne "x" ]
then
...
|
Le "x" permet d'éviter l'erreur que tu as quand $var est vide. Evidemment tu peux utiliser n'importe quelle charactère ou chaine à la place de "x". Le problème que tu avais c'est que si $var est vide, le shell voit l'expression if [ -ne ], qui n'est évidemment pas valide. Avec le "x" il verra if [ x -ne x ], qui est valide.
Mais bien sûr -n ou -z sont mieux adaptés à ce que tu veux faire.