变量的数值(整数)计算

  

变量的数值计算常用的有如下几个命令:

<李>

<强>(())用法:

如果要执行简单的整数运算,只需要特定的算术表达式用" $((”和“))”括起来即可

壳的算术运算符号常置于“$ ((……))"的语法中。这一语法如同双引号功能,除了内嵌双引号无需转义

<>强运算符 <强>意义 + +,增加及减少,可前置也可放在结尾+ - ! ~一元的正号与负号;逻辑与位的取反*,/,%乘法,除法,与取余+ -加法,减法& lt; & lt;=祝辞祝辞=比较符号==?=相等与不相等& lt; & lt;在在向左位移,向右位移,位的,^位的异或|位的或,,逻辑的和| |逻辑的还是?:条件表达式

=,+=,-=,,*=/=%=,,

,=,^=,=& lt; & lt;在祝辞=|=

赋值运算符+=1,都相当一个+ 1=

范例1:壳牌的算术运算实例如下:

[root@XCN  ~] #, ((=1 + 2 * * 3 - 4 % 3)),   (root@XCN  ~) #, echo 一个美元   8   (root@XCN  ~) #, b=$ ((=1 + 2 * * 3 - 4 % 3))   (root@XCN  ~) #, echo  $ b   8   (root@XCN  ~) #, echo  $ ((=1 + 2 * * 3 - 4 % 3)),,   8

提示:上面是三种不同的变量计算定义和使用的方式

[root@XCN  ~] #, echo  $((+=1)),,, #相当=+ 1   9   (root@XCN  ~) #, echo  $ ((+ +)),,   9   (root@XCN  ~) #, echo  $ ((()),,,   10   (root@XCN  ~) #, echo  $((3祝辞;2)),,,,#比较大小   1,   (root@XCN  ~) #, echo  $ ((3 & lt; 2)),,,,, #比较大小   0

提示:

<李>

* *为幂运算:%为取模运算(就是除法当中取余数),加减乘除

<李>

上面涉及到的参数变量必须为整数(整型),不能是小数(符点数)或者字符串后面公元前的命令可以进行浮点数运算,但一般较少用,到下文会讲解。提醒下,你可以直接在外壳脚本中使用上述命令进行计算。

<李>

echo $((+ +))和echo $(()))表示先输出一个自身的值,然后在进行+ + -的运算,echo $((+ +)和

$((-)表示先进行+ + -的运算,在输出一个自身的值


范例2:———+ +在变量前后的举例理解:

[root@XCN  ~] #, echo  $ ((3 - 2)),   5   (root@XCN  ~) #, echo  $ ((3==2)),,,   0

范例3:定义变量计算的例子

[root@XCN  ~] #, xcn=99   (root@XCN  ~) #, echo  $ (($ xcn  +, - 1))   One hundred.   (root@XCN  ~) #, echo  $ ((, xcn 美元;+,1,))   One hundred.   (root@XCN  ~) #, xcn=$ ((, xcn 美元;+,1,)),,,#还可以赋值给变量然后输出变量   (root@XCN  ~) #, echo  xcn美元   One hundred.      #提示(())中的变量也可以去掉美元符号   (root@XCN  ~) #, unset  xcn   (root@XCN  ~) #, xcn=99   (root@XCN  ~) #, echo  $ ((xcn + 1))   100

范例4:各种(())的计算命令行执行例子:

[root@XCN  ~] #, echo  $((100/5)),,, #除法,取商数   20.   (root@XCN  ~) #, echo  $ ((100/5))   20.   (root@XCN  ~) #, echo  $ ((100 + 5)),   105   (root@XCN  ~) #, echo  $ ((100 * 5)),   500   (root@XCN  ~) #, echo  $ ((100 - 5)),,   95   (root@XCN  ~) #, echo  $((100 * * 5)),, #幂   10000000000   (root@XCN  ~) #, echo (5)(100%),美元,,#取模,余数   0

范例5:各种(())运算的shell脚本例子

# !/bin/bash=6   b=2   echo “a-b =$ ((a - b)美元)"   echo “+ b =$ ((a + b)美元)"   echo “* b =$ ((a * b美元))”   echo “/b =$ ((a/b)美元)"   echo “* * b =$ (($ * * $ b))”   echo “% b =$ (($ % $ b))”         执行结果如下:   [root@XCN  day2] #, sh  jisuan.sh    a-b =4   + b =8   * b =12   一个/b =3   * * b =36   % b =0

范例6:实践考试题,内容如下:

把a、b两个变量通过命令行脚本传参的方式实现上面混合运算脚本的功能

=$ 1   b=2美元   echo “a-b =$ ((a - b)美元)"   echo “+ b =$ ((a + b)美元)"   echo “* b =$ ((a * b美元))”   echo “/b =$ ((a/b)美元)"   echo “* * b =$ (($ * * $ b))”   echo “% b =$ (($ % $ b))”      执行结果如下:   [root@XCN  day2] #, sh  jisuan.sh  6, 2   a-b =4   + b =8   * b =12   一个/b =3   * * b =36   % b =0

变量的数值(整数)计算