[root@LocalWeb01 ~]# aa=11 [root@LocalWeb01 ~]# bb=22 [root@LocalWeb01 ~]# cc=$aa+$bb [root@LocalWeb01 ~]# echo $cc 11+22
为什么会出现这种结果,由于linux默认是字符串类型
想要获取正确结果,应该申明
方法一
[root@LocalWeb01 ~]# declare -i cc=$aa+$bb [root@LocalWeb01 ~]# echo $cc 33
declare [+-属性 ] 变量名
- 给变量添加属性类型
+ 删除变量熟悉类型-
-i 设为整形
-x 将变量设为环境变量 和export效果一样
-p 查看变量被设置的类型
方法二
[root@LocalWeb01 ~]# dd=$(expr $aa+$bb) [root@LocalWeb01 ~]# echo $dd 11+22 [root@LocalWeb01 ~]# dd=$(expr $aa + $bb) [root@LocalWeb01 ~]# echo $dd 33
可以看出+号两边要有空格,不然结果不是想加结果
方法三
[root@LocalWeb01 ~]# ff=$(($aa+$bb)) [root@LocalWeb01 ~]# echo $ff 33