let
完全是(( ))
做什么的,它用于算术表达式。目前几乎没有差别之间let
和(( ))
。
您的示例无效。var=${var}bar
要将单词添加bar
到var
变量(这是一个字符串操作),let var+=bar
将不起作用,因为它不是算术表达式:
$ var='5'; let var+=bar; echo "$var"
5
实际上,如果仅bar
设置了变量,则它是一个算术表达式,否则bar
将被视为零。
$ var='5'; bar=2; let var+=bar; echo "$var"
7