变量的数值计算常用的有如下几个命令:
- <李>
<强>(())用法:强>
李>如果要执行简单的整数运算,只需要特定的算术表达式用" $((”和“))”括起来即可
壳的算术运算符号常置于“$ ((……))"的语法中。这一语法如同双引号功能,除了内嵌双引号无需转义
<>强运算符强> <强>意义强> + +,增加及减少,可前置也可放在结尾+ - ! ~一元的正号与负号;逻辑与位的取反*,/,%乘法,除法,与取余+ -加法,减法& 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变量的数值(整数)计算