1

我正在尝试比较 bash 脚本中的整数和浮点数。我尝试了以下方法:

if [ $? -eq 4.189 ];

这不起作用,因为它希望 4.189 是一个整数,并且

if [ $? = 4.186 ];

因为我认为这可能会奏效。我也试过公元前。关于如何做到这一点的任何提示?在这里抨击新手。非常感谢。

注意:$? 是计算球体体积的可执行文件的输出。

4

1 回答 1

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

于 2013-02-19T00:58:01.713 回答