1、declare声明变量类型
命令格式:declare [+/-][选项] 变量名;
参数说明:
- -:给变量设定类型属性;
- +:取消变量的类型属性;
注意:取消命令是+,设定命令是-,和我们通常的认知相反!!!
选项说明:
- i:将变量声明为整数型(integer);
- x:将变量声明为环境变量;
- p:显示指定变量的被声明的类型;
声明变量num1,执行 declare -p num1 查看num1的类型。
给变量设定整数类型 declare -i num1,再次查看num1的类型。
给变量取消整数类型 declare +i num1,再次查看num1的类型。
整个过程如下图所示:
2、数值运算
2.1、方法1
使用declare为结果变量定义类型。
[root@VM-0-8-centos sh]# aa=11
[root@VM-0-8-centos sh]# bb=22
[root@VM-0-8-centos sh]# declare -i cc=$aa+$bb
[root@VM-0-8-centos sh]# echo $cc
此种方式不支持小数运算
2.2、方法2
使用expr或let数值运算工具。
注意:命令$(expr $aa + $bb)之中,+左右必须要有空格, let与expr一样!!!
此种方式不支持小数运算
2.3、方法3
使用$((运算式)) 或$[运算式]。
强烈推荐使用这种方式!!!
此种方式不支持小数运算
3、运算符优先级
优先级 | 运算符 | 说明 |
---|---|---|
13 | -, + | 单目负、单目正 |
12 | !, ~ | 逻辑非、按位取反或补码 |
11 | *,/, % | 乘、除、取模 |
10 | +, - | 加、减 |
9 | << , >> | 按位左移、按位右移 |
8 | <=, >=, < , > | 小于或等于、大于或等于、小于、大于 |
7 | == , != | 等于、不等于 |
6 | & | 按位与 |
5 | ^ | 按位异或 |
4 | | | 按位或 |
3 | && | 逻辑与 |
2 | || | 逻辑或 |
1 | =,+=,-=,*=,/=,%=,&=, ^= ,|=, <<=, >>= | 赋值、运算且赋值 |
执行下方计算命令:
echo $(( (11+3)*3/2 ))
echo $(( 14%3 ))
echo $(( 1&&0 ))
echo $(( 1||0 ))
结果如下图所示:
网友评论