1、declare命令
声明变量类型,shell中默认的变量类型是字符串类型
declare 【+/-】【选项】变量名
+:给变量设定类型属性
-:取消变量的类型属性
-a:将变量声明为数组型
-i:将变量声明为整数型
-X:将变量声明为环境变量
-r:将变量声明为只读变量 ##这个尽量不要使用,不能修改,不能删除
-p:显示指定变量的被声明的类型
1.1 练习:把变量声明为整数型
[root@catyuan ~]# a=1
[root@catyuan ~]# b=2
[root@catyuan ~]# c=$a+$b
[root@catyuan ~]# echo $c
1+2
[root@catyuan ~]# declare -i c=$a+$b
[root@catyuan ~]# echo $c
3
1.2 练习:查看变量属性
[root@catyuan ~]# declare -p c
declare -i c="3"
1.3 练习:声明数组变量
第一步:定义数组
[root@catyuan ~]# a[0]=abc
[root@catyuan ~]# a[1]=ab
[root@catyuan ~]# declare -a a[2]=hello
第二步:查看数组
[root@catyuan ~]# echo ${a}
abc
[root@catyuan ~]# echo ${a[2]}
hello
[root@catyuan ~]# echo ${a[*]}
abc ab hello
2、数值运算方法
2.1 第一种:使用declare命令声明变量类型
[root@catyuan ~]# a=1
[root@catyuan ~]# b=2
[root@catyuan ~]# declare -i c=$a+$b
[root@catyuan ~]# echo $c
3
2.2 第二种:expr或let数值运算工具
[root@catyuan ~]# a=1
[root@catyuan ~]# b=2
[root@catyuan ~]# d=$(expr $a + $b) ##加号左右两边都要有空格
[root@catyuan ~]# echo $d
3
2.3 第三种:"$ ((运算式))"或 “$[运算式] ”
[root@catyuan ~]# a=1
[root@catyuan ~]# b=2
[root@catyuan ~]# c=$((a+b))
[root@catyuan ~]# d=$[a+b]
[root@catyuan ~]# echo $c $d
3 3
3、运算符
优先级 | 运算符 | 说明 |
---|---|---|
13 | -,+ | 单目正、单目负 |
12 | !,~ | 逻辑非、按位取反或补码 |
11 | *,/,% | 乘、除、取模 |
10 | +,- | 加、减 |
9 | <<,>> | 按位左移、按位右移 |
8 | <=,>=,<,> | 小于或等于、大于等于、小于、大于 |
7 | ==,!= | 等于、不等于 |
6 | & | 按位与 |
5 | ^ | 按位异或 |
4 | | | 按位或 |
3 | && | 逻辑与 |
2 | || | 逻辑或 |
1 | =,+=,*=,/=,%=,&=,^=,|,<<=,>>= | 赋值、运算且赋值 |