嗨,我想比较 bash 中的 2 个浮点数,但我还没有找到任何正常工作的东西。我的实际代码如下:
if [ $(echo " 0.5 > $X " | bc -l )==1 ]
echo grande
fi
if [ "$(bc <<< "$X - 0.5")" > 0 ] ; then
echo 'Yeah!'
fi
发生的情况是,无论X是大于还是小于0.5,它总是呼应两个句子,我不知道为什么。我知道X大于或小于0.5,因为我也回显它,我可以看到它。
在 bash 中,您需要非常小心间距。 例如:
if [ $(echo " 0.5 > $X " | bc -l )==1 ]; then
echo grande
fi
在这里,==
周围没有空格,所以它将被解释为:
if [ 0==1 ]; then
fi
信不信由你,这个条件总是正确的。
考虑:
if [ "$(echo " 0.5 > $X " | bc -l )" == 1 ]; then
echo grande
fi
.