Difference d'interpretation dans un "if"
Résolu
Char Snipeur
Messages postés
10112
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voilà, j'ai un code tout simple :
si je l'exécute directement dans une console, il fonctionne, mais si je le met dans un fichier "toto.sh" et que je le lance j'ai une erreur :
J'en reste pentoi.
--
Un peuple prêt à sacrifier un peu de liberté pour un peu de sécurité ne mérite ni l'une ni l'autre, et finit par perdre les deux.
Char Snipeur
Voilà, j'ai un code tout simple :
RATE=128 if (( RATE >96 )) then echo OK;else echo NOK;fi
si je l'exécute directement dans une console, il fonctionne, mais si je le met dans un fichier "toto.sh" et que je le lance j'ai une erreur :
$ sh toto.sh toto.sh: 21: toto.sh: 128: not found
J'en reste pentoi.
--
Un peuple prêt à sacrifier un peu de liberté pour un peu de sécurité ne mérite ni l'une ni l'autre, et finit par perdre les deux.
Char Snipeur
2 réponses
-
hello
utiliser bash toto.sh, sh ne connait pas la syntaxe math. ((expr)) -
Salut,
A tout hasard, il manque un ";" avant lethen
;-\
Chez moi ça marche :
$ RATE=128; if (( RATE > 96 ));then echo OK; else echo NOK;fi
OK
$ cat foo.sh
#! /bin/bash
RATE=128
if (( RATE > 96 ));then
echo OK
else echo NOK
fi
$ ./foo.sh
OK