bash语法错误 - 操作数预期 - 需要帮助理解为什么?

时间:2015-01-26 16:11:09

标签: bash math

我在bash中仍然非常环保算术。我得到了一些帮助清理2部分查询从我有的Linux盒子获取特定值。但是,我现在收到一个语法错误,我似乎无法拼凑在一起。任何帮助理解为什么会非常感激。

查询是:

echo $(( (2147483633-"$(grep -i isrs /proc/zem0 | grep -Eo '[0-9]+$')")/5184000 ))

并且错误以

的形式返回
-bash: (2147483633-"16458074")/5184000 : syntax error: operand expected (error token is ""16458074")/5184000 ")

请帮我理解原因!非常感谢,提前!

1 个答案:

答案 0 :(得分:1)

问题在于引号

试试这个:

echo $(( (2147483633-$(grep -i isrs /proc/zem0 | grep -Eo '[0-9]+$'))/5184000 )) 

<强>更新

因为

echo $(( (2147483633-"$(grep -i isrs /proc/zem0 | grep -Eo '[0-9]+$')")/5184000 ))

转换为

echo $(( (2147483633-"some_number")/5184000 ))

并且在数字周围有引号对算术运算无效