算术扩展,arithmetic expansion,形式是:
$(( 数学表达式))
有一篇文章里似乎说(在这里),以前用的是反引号,如今用的是双层括号。
数学表达式中,跟shell其它部分不同:
1、可以使用空格,且空格会被忽略不计。
echo $(( a = i + 8))
echo $(( 2#100 )) //显示2进制的100,结果是4
echo $(( 8#100)) //显示8进制的100,结果是64
2、没有赋值的变量不是Null,被当做0处理。
echo $(( i + 3)) //结果为3
3、有个let工具可用。
let z=z+3
let "z = z + 3" //加个双引号,也可以加空格。但是没被赋值的变量会被当做null