IF语句对于数字范围(standard_in)1:语法错误

时间:2017-04-10 12:05:11

标签: bash unix if-statement bc

我试图让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 个答案:

答案 0 :(得分:3)

||需要进入引号内部,以便将其视为bc输入的一部分,而不是将bc命令与无效命令名分隔开的shell运算符。

if (( $(bc <<< "${check} < -7.0 || ${check} > 7.0") ));

然后