您好我想在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因为我也回应它,我可以看到它。
答案 0 :(得分:1)
在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