bash脚本中if条件中的算术运算符无效



我尝试过:

if [[ ${numbers[4]} -ge $best_res ]]; then
...
fi 

我得到了以下if条件行的错误:

7 ./q1.sh: line 58: [[: 0.346: syntax error: invalid arithmetic operator (error token is ".346")

也有类似的问题,但我的错误是在"if"条件下。如何使用"bc"或"dc"进行修复?

问题是bash不支持浮点运算,而您的一个变量似乎具有浮点运算。

下面是一个简单的例子:

$ [[ 0.346 -ge 0 ]] && echo "true"
bash: [[: 0.346: syntax error: invalid arithmetic operator (error token is ".346")

您必须使用外部工具,如bcdc等。

最新更新