【发布时间】:2012-10-18 10:21:34
【问题描述】:
问题出在这一行
elif [ "$(echo $a '>' $v06 | bc -l)" -eq 1 && "$(echo $a '<' $v08 | bc -l)" -eq 1 ];then
如何测试数字是否在范围内? 我知道可能有其他解决方案,但我想用 bc 以这种方式解决......
a=0.1
v06=0.6
v08=0.8
if [ "$(echo $a '<' $v06 | bc -l)" -eq 1 ];then
echo " <0.6"
elif [ "$(echo $a '>' $v06 | bc -l)" -eq 1 && "$(echo $a '<' $v08 | bc -l)" -eq 1 ];then
echo " <0.6 >0.8"
else
echo ">1.5"
fi
【问题讨论】:
-
你知道在这种情况下你不会遇到 elif 吗? 0.1 小于 0.6,您正在测试 $a 是否介于 0.6 和 0.8 之间。我已经用 0.7 对其进行了测试,然后 elif 中的测试确实有效。