Shell 脚本:快捷方式添加和赋值 +=:未找到命令

Shell Script : shortcut add and assignment += : command not found

使用 Mac 终端和 Shell 脚本

正在尝试像

这样的添加和赋值运算符的快捷方式
SumVar=1

$(( SumVar += 5 ))

echo $SumVar

获取错误:

Error: line 3: 5: command not found

正确的语法是什么?

您递增变量的语法是正确的,但是您在 Bash 需要命令的上下文中使用它,并且它抱怨递增的结果 (4) 不是一个公认的命令。

let关键字是你的朋友。

let SumVar+=4

或者更好的做法是省略美元符号(感谢@chepner);

(( SumVar += 4 ))

当您使用这样的替换时,bash 将尝试执行替换的 name/value 的命令。您可以改用它:

(( Sumvar += 5 ))

或者如果你真的坚持在这里使用替换,你可以将它用作:命令的参数:

: $(( Sumvar += 5 ))