declare声明变量类型
语法:declare [*/-][选项] 变量名
选项 | 说明 |
- | 给变量设定类型属性 |
+ | 取消变量的类型属性 |
-i | 将变量声明为整数型 |
-x | 将变量声明为环境变量 |
-p | 显示指定变量的被声明的类型 |
数值运算
方法一-declare声明变量
方法二-expr或let数值运算工具
注意+号俩测必须有空格
方法三-“$((运算符))”或“$[运算式]”
单小括号括起来是系统命令
双小括号或者中括号括起来的是数值计算
运算符
数值越高优先级越高
优先级 | 运算符 | 说明 |
13 | -,+ | 单目负,单目正 |
12 | !,~ | 逻辑非,按位取反或补码 |
11 | *,/,% | 乘,除,取模 |
10 | +,- | 加,减 |
9 | <<,>> | 按位左移,按位右移 |
8 | <=,>=<,> | 小于或等于、大于或等于,小于,大于 |
7 | ==,!= | 等于,不等于 |
6 | & | 按位与 |
5 | ^ | 按位异或 |
4 | | | 按位或 |
3 | && | 逻辑与 |
2 | || | 逻辑或 |
1 | =,+=,-=,*=,/=,%=,^=,|=,<<=,>>= | 赋值,运算且赋值 |
测试和内容替换
变量置换方式 | 变量y没有设置 | 变量y为空值 | 变量y设置值 |
x=${y-新值} | x=新值 | x为空 | x=$y |
x=${y:-新值} | x=新值 | x=新值 | x=$y |
x=${y+新值} | x为空 | x=新值 | x=新值 |
x=${y:+新值} | x为空 | x为空 | x=新值 |
x=${y=新值} | x=新值 y=新值 | x为空 y值不变 | x=$y y值不变 |
x=${y:=新值} | x=新值 y=新值 | x=新值 y=新值 | x=$y y值不变 |
x=${y?新值} | 新值输出到标准错误输出(就是屏幕) | x为空 | x=$y |
x=${y:?新值} | 新值输出到标准错误输出 | 新值输出到标准错误输出 | x=$y |