[root@localhost ~]# num1=1
[root@localhost ~]# num2=2
[root@localhost ~]# num3=$num1+$num2
[root@localhost ~]# echo $num3
1+2
声明变量类型
格式:
declare [+/-][
选项
]
变量名
-
- 给变量设置类型属性
-
+ 取消变量的类型属性,注意与我们的日常习惯不同
-
-i 将变量指定为整型
-
-x 将变量声明为环境变量
-
-p 显示指定变量被设置的类型
示例:
[root@localhost ~]# num1=1
[root@localhost ~]# num2=2
[root@localhost ~]# num3=$num1+$num2
[root@localhost ~]# echo $num3
1+2
[root@localhost ~]# declare -i num4=$num1+$num2
[root@localhost ~]# echo $num4
3
#此处是数值相加,而不是字符串相加了
[root@localhost ~]#
expr或let数值运算工具
[root@localhost ~]# a=1
[root@localhost ~]# b=2
[root@localhost ~]# c=$(expr $a + $b)
#注意空格
[root@localhost ~]# echo $c
3
[root@localhost ~]#
$((表达是)) 或 $[表达式]
推荐使用的方式,示例:
[root@localhost ~]# a=5
[root@localhost ~]# b=6
[root@localhost ~]# c=$((a+b))
[root@localhost ~]# echo $c
11
[root@localhost ~]# a=8
[root@localhost ~]# b-9
-bash: b-9: 未找到命令
[root@localhost ~]# b=9
[root@localhost ~]# c=$[a + b]
[root@localhost ~]# echo $c
17
[root@localhost ~]#
五、运算符
优先级 | 运算符 | 说明 |
13 | -,+ | 单目,正负运算符 |
12 | !, ~ | 逻辑非,按位取反,或补码 |
11 | *, /, % | 乘,除,取余 |
10 | +, - | 加,减 |
9 | >>, << | 按位左移,按位右移 |
8 | >, <, <=, >= | 大于,小于,大于等于,小于等于 |
7 | ==, != | 等于,不等于 |
6 | & | 按位 |
5 | ^ | 按位异 |
4 | ||
3 | && | 逻辑 |
2 | ||
1 | =, +=, -=, *=, /=, %=, &=, ^= | 各种赋值 |
优先级的数值越大,优先级越高,注意和其他语言的数值月底优先级越高不同。
示例:
[root@localhost ~]# num = $(( (15 + 34) * 5 / 2 ))
-bash: num: 未找到命令
[root@localhost ~]# num=$(( (15 + 34) * 5 / 2 ))
[root@localhost ~]# echo num
num
[root@localhost ~]# echo $num
122
[root@localhost ~]# b=$((19%2))
[root@localhost ~]# echo $b
1
[root@localhost ~]# c=$(( 1 && 0 ))
[root@localhost ~]# echo $c
0
[root@localhost ~]#