Bash:让声明VS分配
分配给像var=foo这样的variables和使用let let var=foo之间有什么区别? 还是像var=${var}bar和let var+=bar ? 每种方法的优点和缺点是什么?
let (( ))做什么,它是算术expression式。 let和(( )) 几乎没有区别 。
你的例子是无效的。 var=${var}bar将要添加单词bar到varvariables(这是一个string操作), let var+=bar不起作用,因为它不是一个算术expression式:
$ var='5'; let var+=bar; echo "$var" 5
实际上,它是一个算术expression式,如果只设置了variablesbar ,否则bar被视为零。
$ var='5'; bar=2; let var+=bar; echo "$var" 7