字符
数值
整型
浮点型:
11.23, 1.123*10^1, 0.1123*10^2
2013/10/10, 64bit
99999: 24bit,
布尔型
:真、假
逻辑:1+1>2
shell算术运算:
Shell默认不作算数运算
例如:
[root@localhost ~]# A=5
[root@localhost ~]# B=6
[root@localhost ~]# C=$A+$B
[root@localhost ~]# echo $C
5+6
如果要做:
1、let 算术运算表达式
let C=$A+$B
例如:
[root@localhost ~]# A=5
[root@localhost ~]# B=6
[root@localhost ~]# let C=$A+$B
[root@localhost ~]# echo $C
11
例如:
let I=$[$I+1]相当于let I+=1
SUM=$[$SUM+$I]相当于 let SUM+=$I
a=$[$a+1] 相当于 let a+=1
let I+=1 相当于 let I++
-=:let I-=1 相当于 let I–
++I, –I
*=
/=
%=
2、$[算术运算表达式]
C=$[$A+$B]
例如:
[root@localhost ~]# A=5
[root@localhost ~]# B=6
[root@localhost ~]# C=$[$A+$B]
[root@localhost ~]# echo $C
11
3、$((算术运算表达式))
C=$(($A+$B))
例如:
[root@localhost ~]# A=5
[root@localhost ~]# B=6
[root@localhost ~]# C=$(($A+$B))
[root@localhost ~]# echo $C
11
4、expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用
C=`expr $A + $B`
例如:
[root@localhost ~]# A=5
[root@localhost ~]# B=6
[root@localhost ~]# C=`expr $A + $B`
[root@localhost ~]# echo $C
11
注意:中间空格
[root@localhost ~]# C=`expr $A+$B`
[root@localhost ~]# echo $C
5+6
例如:
[root@linux ~]# C=`expr $A + $B`
[root@linux ~]# C=`expr $A – $B`
[root@linux ~]# C=`expr $A \* $B`
[root@linux ~]# C=`expr $A \/ $B`
逻辑运算:
与、或、非、异或
1: 真
0: 假
与:
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
1 & 1 = 1
或:
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
非:
! 真 = 假
! 假 = 真
异或:
操作数相同为真,不同为假。
shell: 弱类型编程语言
强:变量在使用前,必须事先声明,甚至还需要初始化;
弱:变量用时声明,甚至不区分类型;
变量赋值:VAR_NAME=VALUE
命令的间逻辑关系:
逻辑与: &&
第一个条件为假时,第二条件不用再判断,最终结果已经有;
第一个条件为真时,第二条件必须得判断;
逻辑或: ||
第一个条件为真时,第二个条件不用判断,最终结果已经为真了;
第一个条件为假时,第二个条件必须得判断;
例如:
[root@localhost ~]# A=5
[root@localhost ~]# B=6
[root@localhost ~]# [ “$A” == “$B” ] && echo “00000000”; :
[root@localhost ~]# [ “$A” == “$B” ] && echo “00000000”
[root@localhost ~]# [ “$A” == “$B” ] || echo “00000000”
00000000