乘法前的Bash加法(使用括号表示的优先级)

问题描述 投票:1回答:1

我试图在将结果乘以之前将1加到变量中在Java中它就像是

int upperBound = (curBatch + 1) * elePerBatch;

我尝试了以下内容

upperBound=$(($curBatch + 1 * $elePerBatch))
upperBound=$((($curBatch + 1) * $elePerBatch))
upperBound=$(((($curBatch + 1)) * $elePerBatch))
upperBound=$(($(($curBatch + 1)) * $elePerBatch))

什么都行不通,我得到了这种错误

0 + 1 *:语法错误:预期的操作数(错误标记为“*”)

我在其他问题中看到过这个错误,但我找不到解决问题的方法。

bash expression parentheses operator-precedence
1个回答
1
投票

原来elePerBatch没有初始化。

我无法弄清楚错误的含义,否则我会注意到它。

这有效

upperBound=$(($(($curBatch + 1)) * $elePerBatch))
© www.soinside.com 2019 - 2024. All rights reserved.