运算符
一.declare命令
a).declare -i cc=$aa+$bb. 会将cc声明为整形。作的是加法运算
b).declare -x test=123 会将变变量声明为环境变量。export实际也是调用的该命令。
c).declare -p test 查看当前test变量的定义格式
d).declare -r test 将test变量设置为只读变量,一旦设置为只读后,该变量不可被修改和删除,去掉只读属性也不可以。
f).declare -p 查看所有变量的定义格式
j).格式:declare [+/-] [选项] 变量
-表示赋予某种属性。
+表示去掉某种属性。
二.数值运算的方法
a).cc=$(($aa+$bb)) (1)
b).cc=$[$aa+$bb] (2)
c).cc=$( expr $aa + $bb ) (3) (+两边必须有空格)
d).优先级
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= 新值 | x 为空 | x=$y |
y= 新值 | y 值不变 | y值不变 | |
x=${y:=新值} | x= 新值 | X= 新值 | x=$y |
y= 新值 | y= 新值 | y值不变 | |
x=${y?新值} | 新值输出到标准错误输出(屏幕) | x 为空 | x=$y |
x=${y:?新值} | 新值输出到标准错误输出 | 新值输出到标准错误输出 | x=$y |
这个只有shell脚本使用,只需要记住即可。
举例:x=${y-新值} : 如果变量y没有设置。 x便等于新值。 如果y的值为空,则x为空。 如果y设置值。 则x=$y