Оператор IF для диапазона номеров (standard_in) 1: синтаксическая ошибка
Я пытаюсь получить оператор if для работы с bc
определить, находится ли число в текстовом файле внутри числового диапазона или за его пределами. У меня есть условия (echoes)
что я хотел бы вызвать, когда критерии выполнены (или не выполнены).
файл climo.diff:
17.3
Код Bash:
check=`cat climo.diff`
if (( $(bc <<< "${check} < -7.0" || "${check} > 7.0") ));
then
echo "CAUTION: Outside acceptable range."
else
echo "Within acceptable range."
fi
Я продолжаю получать следующую ошибку:
(standard_in) 1: syntax error
1 ответ
Решение
||
нужно идти внутри кавычек, так что это считается частью ввода в bc
, а не оператор оболочки, разделяющий bc
команда с неверным именем команды.
if (( $(bc <<< "${check} < -7.0 || ${check} > 7.0") ));
затем