Linux Shell中的带$和不带$的括号的区别
$(( ))
就直接看作十进制数的运算即可,由于shell里最基本的是字符串,shell不会自动区分数字,所以在shell中a=123+1
执行后,再echo $a
返回的是 123+1
而不是 124
。
加上双括号,((a=123+1))
运行后,再echo $a
返回的就是124
了。
而 a=$((123+1))
,就是说明$(( ))
里的是数字123
加上1
而不是字符串123+1
。
#Example:
a=1
a=$((a + 1))