(二)Shell条件测试

1.文件测试

常用文件测试操作符号说明
-f文件存在且为普通文件则为真
-d文件存在且为目录则为真
-s文件存在且为文件大小不为0则为真
-e文件存在则为真
-r文件存在且可读则为真
-w文件存在且可写则为真
-x文件存在且可执行则为真
f1 -nt f2文件f1比文件f2新则为真
f1 -ot f2文件f1比文件f2旧则为真

在这里插入图片描述
注:以上操作符用test命令和[[]]、[]几乎是通用的,可以执行man test查看更多操作符。

2.整数比较

在[]和test用的整数比较操作符号在[[]]、(())中使用的比较符说名
-gt>大于
-eq==或=等于
-ne!=不等于
-ge>=大于等于
-lt<小于
-le<=小于等于

说明:1、<符号和>符号和在[]中使用需要转义,因为在shell中有重定向的意思。(在整数的比较中结果可能会不对)
2、=和!=在[]中使用不需要转义
在这里插入图片描述

3.逻辑连接符

在[]和test用的逻辑连接符在[[]]中使用的逻辑连接符说名
-a&&与,只有两端都为真时才为真
-oll或,任意一端为真就为真
!非,相反则为真

注:推荐[]中用-a,-o,!;[[]]中使用&&,ll,!,多个[]、[[]]之间或者任意混合中间逻辑操作符都是&&或ll

4.字符串测试

常用字符串测试操作符说明
-z “字符串”长度为0则为真
-n “字符串”长度不为0则为真
“字符串1” = “字符串2”字符串1等于字符串2则为真,可以用==代替=
“字符串1” != “字符串2”字符串1不等于字符串2则为真,不可以用!==代替=

注:字符串操作符必须用"",比较符号两边必须有空格

5.正则比对

[root@CentOS7  ~]# num=a123
[root@CentOS7  ~]# [[ "$num" =~ ^[a-z]+[0-9].*$ ]];echo $?
0

注:正则比对最好用[[]]。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值