文章目录
- 1. shell算数运算的特点
- 2. 运算符一览
- 3. 运算语法
- 3.1 整形运算
- 3.2. 小数运算 ing
- 4. 自增自减
- 4.1. a++与++a
- 4.2. 自加
1. shell算数运算的特点
- Shell 和其它编程语言不同,Shell 不能直接进行算数运算,必须使用数学计算命令。
- Shell只支持整数运算,也就是所有可能产生小数的运算都会舍去小数部分。
因为shell默认都是字符串(拼接)操作,如下例子:
lianggao@LiangdeMacBook-Pro ~ % var=1+1
lianggao@LiangdeMacBook-Pro ~ % echo $var
1+1
2. 运算符一览
除法求余运算中除数不能为0.
举个例子
lianggao@LiangdeMacBook-Pro ~ % var10=$((10>>2))
lianggao@LiangdeMacBook-Pro ~ % echo $var10
2
3. 运算语法
3.1 整形运算
算数拓展(推荐)
语法:$((算数表达式))
[root@tbds-10-1-0-38 log]# i=1
#运算输出
[root@tbds-10-1-0-38 log]# echo $((i+1))
2
#赋值
[root@tbds-10-1-0-38 log]# var15=$((12+i))
[root@tbds-10-1-0-38 log]# echo $var15
13
#未定义的变量运算(变量默认为0)
[root@tbds-10-1-0-38 log]# echo $((j+1))
3
[root@tbds-10-1-0-38 log]# echo $((y+1))
1
let命令:
lianggao@LiangdeMacBook-Pro ~ % let "var10=1+1"
lianggao@LiangdeMacBook-Pro ~ % echo $var10
2
3.2. 小数运算 ing
Shell 本身只支持整数运算,想计算小数就得使用 bc 这个外部的计算器。
4. 自增自减
4.1. a++与++a
前置自增:先自增在赋值
后置自增:先赋值再自增
操作对象只能是变量,不能是常数
[root@tbds-10-1-0-38 log]# var11=1
[root@tbds-10-1-0-38 log]# let "var12=var11++"
[root@tbds-10-1-0-38 log]# echo $var12
1
[root@tbds-10-1-0-38 log]# var13=1
[root@tbds-10-1-0-38 log]# let "var14=++var13"
[root@tbds-10-1-0-38 log]# echo $var14
2
4.2. 自加
#第一种方式
lianggao@LiangdeMacBook-Pro ~ % a=4
lianggao@LiangdeMacBook-Pro ~ % a=$(($a+3))
lianggao@LiangdeMacBook-Pro ~ % echo $a
7
#第二种方式
lianggao@LiangdeMacBook-Pro ~ % a=4
lianggao@LiangdeMacBook-Pro ~ % let "a+=3"
lianggao@LiangdeMacBook-Pro ~ % echo $a
7