shell编程-条件判断

条件测试常用的语法

得出真假概念

1、数值测试
参数说明
-eq等于则为真
-ne不等于则为真
-gt大于则为真
-ge大于等于则为真
-lt小于则为真
-le小于等于则为真
2、字符串测试
参数说明
=等于则为真
!=不相等则为真
-z 字符串字符串的长度为零则为真
-n 字符串字符串的长度不为零则为真
3、文件测试
参数说明
-e文件名 如果文件存在则为真
-r文件名 如果文件存在且可读则为真
-w文件名 如果文件存在且可写则为真
-x文件名 如果文件存在且可执行则为真
-s文件名 如果文件存在且至少有一个字符则为真
-d文件名 如果文件存在且为目录则为真
-f文件名 如果文件存在且为普通文件则为真
-c文件名 如果文件存在且为字符型特殊文件则为真
-b文件名 如果文件存在且为块特殊文件则为真
4、 多重条件判断

-a (and) 两个条件同时成立则为true $$
-o (or) 两个条件任何一个成立则为true ||
! 反向状态

A条件 && B条件 当A成立,并且执行B条件
A条件 || B条件 当A条件不成立的时候,才会执行B条件
在这里插入图片描述

5、文件的权限侦测

在这里插入图片描述

test命令

test命令评估一个表达式,它的结果是真还是假,如果为真,那么命令状态执行结果就为0,否则不为0,通过$?取值

test -e hello && echo "该文件/目录已存在,不执行该动作" || mkdir hello

中括号[]

注意点:
1、中括号前后必须有空格间隔
2、在条件测试中使用变量,必须添加双引号
3、中括号里使用数字比较符合,需要转义符\

&> /dev/null #将结果输入不存在文件中,即不输出信息
# 如果是普通文件则返回🆗,否则no
[ -f "$filename" ] && echo ok || echo no

在这里插入图片描述

在这里插入图片描述

总结
在这里插入代码片
# 最常用的就是中括号,搭配 -gt -lt ,如此用法即可
# eg:
[ $a -gt $b ]

表参考

测试表达式符号[]test[[]](())
边界是否需要空格需要需要需要不需要
逻辑操作符!、-a、-o!、-a、-o!、&&、||、!、&&、||
整数比较操作符-eq、-gt、-lt、-ge、le-eq、-gt、-lt、-ge、le-eq、-gt、-lt、-ge、le 或=、>、<、>=、<==、>、<、>=、<=
字符串比较操作符=、==、!==、==、!==、==、!==、==、!=
是否支持通配符匹配不支持不支持支持不支持
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lance_mu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值