我试图比较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,而第二种方法是哑字符串比较,它们将比较不相等。

10-06 04:39