我试图比较bash脚本中的整数和浮点。我试过以下方法:if [ $? -eq 4.189 ];
它不起作用,因为它希望4.189是一个整数,并且if [ $? = 4.186 ];
因为我觉得那可能管用。我也试过BC。有什么建议吗?来揍菜鸟。非常感谢。
注:$?是计算球体体积的可执行文件的输出。
最佳答案
这样就行了
#!/bin/bash
volume=4.189
if [[ $(echo "$volume == 4.189" | bc) -eq "1" ]]; then
echo Equal
else
echo Not Equal
fi
或者直接用引号引起来
#!/bin/bash
volume=4.189
if [[ $volume == "4.189" ]]; then
echo Equal
else
echo Not Equal
fi
注意,在我展示的比较浮点的两种方法中,首选的是使用bc,它将告诉您4.1890等于4.189,而第二种方法是哑字符串比较,它们将比较不相等。