问题的bash测试是在这一行对数范围(与浮点数)
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中的测试实际上工作。 – Friek