【发布时间】:2017-04-10 12:05:10
【问题描述】:
我正在尝试让 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
【问题讨论】:
-
确实语法错误。您在
$()的执行中使用||运算符。基本上你试图调用程序"${check} > 7.0",这没有任何意义。我不是bc的专家,但我会做类似if bc <<< "${check} < -7.0" || bc <<< "${check} > 7.0"; then的事情。也许可以在一次bc调用中完成,而不是两次。
标签: bash unix if-statement bc