我正在尝试比较 bash 脚本中的整数和 float 。我尝试了以下方法:
如果 [ $? -eq 4.189 ];
它不起作用,因为它希望 4.189 是一个整数,并且
如果 [ $? = 4.186 ];
因为我认为这可能有效。我也试过公元前。有关如何执行此操作的任何提示? Bash 新手在这里。非常感谢。
注:$?是计算球体体积的可执行文件的输出。
最佳答案
这会起作用
#!/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
请注意,在我展示的两种比较 float 的方法中,首选是使用 bc,它会告诉您 4.1890 等于 4.189,而第二种方法是哑字符串比较,它们将比较不相等。
关于linux - 在 bash 中比较整数和 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14947990/