Shell笔记(运算符/关系运算符/布尔运算符)

运算

语法: ( ( 运 算 式 ) ) 、 ((运算式))、 (())[运算式]
expr a + b:加
expr a - b:减
expr a * b:乘`
expr a / b:除
expr a % b:求余
a=b:将b的值赋给a
a == b:判断a是否等于b,返回结果为布尔值
a != b:判断a是否不等于b,返回结果为布尔值

注意:shell的字符型数值运算时,运算符与数值间存在空格,否则会被识别为一个字符串,而不是运算。

复合运算

# 符号``代替数学运算中的()
expr `expr a+b` + c	#等同数学中的(a+b)+c
expr `expr a /b` \* c	#等同数学中的(a/b)*c

如:

#加
expr 1+2
#减
expr 1-2
#乘
expr 1 \* 2
#复合计算
expr `expr 2 + 3` \* 4
关系运算符

[ judgeStatement ]
说明:其中judgeStatement代表判断表达式,前后与[]间必须均存在空格,判断的结果以布尔值作为返回值显示。

数值比较

大于(-gt):[ a -ge b],判断a是否大于b(>)。
小于(-lt):[ a -lt b],判断a是否小于b(<)。
小于等于(-le):[ a -le b],判断a是否小于等于b(<=)。
大于等于(-ge):[ a -ge b],判断a和b是否相等(>=)。
相等(-eq):[ a -eq b],判断a和b是否相等。
不相等(-ne):[ a -ne b],判断a和b是否不相等。

如:

#这里$?是根据最后一次执行的命令的返回值判断是否产生了错误。0为正确,其他则为错误。
[ 23 -gt 22 ]	
echo $?		#正确,输出为0
布尔运算符

!:非运算,返回与结果相反的布尔值。
如:

[ ! false ] 
echo $?		#结果为ture
 [ ! 23 -ge 22 ]
echo $?		#结果为false

-o:或运算,存在一个为真值的表达式则结果就为真。

如:

[ 表达式A -o 表达式B】
即表达式A或B只要存在一个为真的,则结果为真。
[ 23 -gt 22 -o 1 -gt 2]

-a:与运算符,存在一个为假值的表达式则结果就为假。

如:

[ 1 -ge 2 -a 3 -le 4 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值