13.4.4 算术扩展

算术扩展是Shell提供的整数变量的运算机制,是Shell的内建命令之一。其基本语法如下:


$((

算术表达式))


其中的算术表达式由变量和运算符组成,常见的用法是显示输出和变量赋值。若表达式中的变量没有定义,则在计算时,其值会被假设为0(但是并不会真的因此赋0值给该变量)。


#

显示输出:

echo $((

算术表达式))

#

例子:计算2*i+1

的值

[root@localhost ~]# i=2

[root@localhost ~]# echo $((2*i+1)) #

注意这里变量i

前并没有$

5

[root@localhost ~]# echo $((2*(i+1))) #

用括号改变运算优先级

6

#

变量赋值

var=$((

算术表达式))

#

例子:将2*i+1

的值赋值给变量var

[root@localhost ~]# var=$((2*i+1))

[root@localhost ~]# echo $var

5

#

未定义的变量参与算术表达式求值

[root@localhost ~]# echo $((2*(j+1)))

2