我尝试过:
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")
您必须使用外部工具,如bc
或dc
等。