declare命令
declare声明变量类型
declare [+/-] [选项] 变量名
选项:
-:给变量设定类型属性
+:取消变量的类型属性
-a:将变量声明为数组型
-i:将变量声明为整数型
-x:将变量声明为环境变量
-r:将变量声明为只读变量(设置为只读之后无法修改,无法删除,无法取消只读)
-p:显示指定变量的被声明的类型
声明数组变量
# 定义数组
array[0]=z
declare -a array[1]=d
echo ${array} # 打印array[0]
echo ${array[1]} # 打印array[1]
echo ${array[*]} # 打印数组所有内容
声明环境变量
# export实际上就是declare -x
declare -x test =123
数值运算方法
aa=11
bb=22
方法一:声明类型
# 声明cc为整型
declare -i cc=$aa+$bb
方法二:expr
# 注意“+”左右两侧必须有空格,如果不含有空格会当做字符串处理
dd=$(expr $aa +$bb)
方法三:$((运算式)) 或者 $[运算式]
ee=$(($aa+$bb))
ff=$[$aa+$bb]
运算符优先级
优先级数值越大优先级越高
优先级 | 运算符 | 说明 |
---|---|---|
13 | -,+ | 单目负,单目正 |
12 | !,~ | 逻辑非,按位取反或补码 |
11 | *,/,% | 乘,除,取模 |
10 | +,- | 加,减 |
9 | <<,>> | 按位左移,按位右移 |
8 | <+,>=,<,> | 小于等于,大于等于,小于,大于 |
7 | ==,!= | 等于,不等于 |
6 | & | 按位与 |
5 | ^ | 按位异或 |
4 | | | 按位或 |
3 | && | 逻辑与 |
2 | || | 逻辑或 |
1 | =,+=,-=,/=,%=,&=,^=,|=,<<=,>>= | 赋值,运算且赋值 |