J'essaie d'obtenir une instruction if pour fonctionner avec bc
afin de déterminer si un nombre dans un fichier texte est dans une plage numérique ou en dehors de celui-ci. J'ai des conditions (echoes)
que je voudrais déclencher lorsque les critères sont (ou ne sont pas) remplis.Instruction IF pour la plage de numéros (standard_in) 1: erreur de syntaxe
fichier climo.diff:
17.3
Bash code:
check=`cat climo.diff`
if (($(bc <<< "${check} < -7.0" || "${check} > 7.0")));
then
echo "CAUTION: Outside acceptable range."
else
echo "Within acceptable range."
fi
Je continue à obtenir l'erreur suivante :
(standard_in) 1: syntax error
En effet, la syntaxe est erronée. Vous utilisez l'opérateur '||' dans une exécution avec '$()'. Fondamentalement, vous essayez d'appeler le programme '" $ {check}> 7.0 "' ce qui n'a aucun sens. Je ne suis pas un expert de 'bc', mais je ferais quelque chose comme' if bc <<< "$ {check} <-7.0" || bc << < "${check} > 7.0 "; then." Peut-être que cela peut être fait dans un appel 'bc' au lieu de deux – vdavid