shell 基本运算符


1.算数运算

  • 方法一
sum1=`expr 3 + 5`
sum2=`expr 3 \* 5`  #乘法用\来转义
sum3=`expr 5 / 3`
echo "${sum1},${sum2},${sum3}"
结果:8,15,1
  • 方法二
a=2;b=4
sum1=$[$a + $b]
sum2=$[$a * $b]   #无需转义
sum3=$[$a - $b]
echo "${sum1},${sum2},${sum3}"
结果:6,8,-2

2. 关系运算符

运算符说明
-eqequal
-nenot equal
-gtgreater than
-ltless than
-gegreater than or equal
-leless than or equal

3. 布尔运算符

运算符说明举例
!非运算[ ! false ] 返回 true。
-o或运算[ $a -le 1 -o $a -gt 1 ]必然为真
-a与运算[ $a -le 1 -a $a -gt 1 ]必然为假

4. 逻辑运算符

  • 用法一
运算符说明
&&逻辑的 AND
||逻辑的 OR
  • 用法二
    command1 && command2 &&左边的命令返回真(即命令返回值 $?是0),&&右边的命令才能够被执行。
    command1 || command2 ||与&&相反。如果||左边的命令未执行成功,才执行||右边的命令
# 判断命令执行成功与否
command && echo "success" ||echo "failed"

5. 字符串运算符

运算符说明举例
=检测两个字符串是否相等,相等返回 true。[ $a = $b ] 返回 false。
!=检测两个字符串是否相等,不相等返回 true。[ $a != $b ] 返回 true。
-z检测字符串长度是否为0,为0返回 true。[ -z “$a” ] 返回 false。
-n检测字符串长度是否不为 0,不为 0 返回 true。[ -n “$a” ] 返回 true。

``

6. 文件测试运算符

操作符说明
-d file检测文件是否是目录,如果是,则返回 true。
-f file检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。
-x file检测文件是否可执行,如果是,则返回 true。
-s file检测文件是否为空(文件大小是否大于0),不为空返回 true。
-e file检测文件(包括目录)是否存在,如果是,则返回 true。

知识点

使用 [[ … ]] 条件判断结构,而不是 [ … ],能够防止脚本中的许多逻辑错误。比如,&&、||、< 和 > 操作符能够正常存在于 [[ ]] 条件判断结构中,但是如果出现在 [ ] 结构中的话,会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值