我正在尝试比较bash脚本中的整数和浮点数。我尝试过以下方法:
if [ $? -eq 4.189 ];
不起作用,因为它希望4.189是一个整数,而
if [ $? = 4.186 ];
因为我认为那可能有用。我也尝试过bc。关于如何做到这一点的任何提示?在这里猛击新手。非常感谢。
注意:$?是计算球体积的可执行文件的输出。
答案 0 :(得分:3)
这将有效
#!/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而第二种方法是一个哑字符串比较,它们将比较不等。