shell条件判断式语句

条件判断式格式,有两种形式,
1. test 条件表达式(利用test命令来判断条件表达式)
2. [ 条件表达式 ] (将判断表达式用中括号括起来,注意条件表达式两边的空格不能省略)
这两种形式都能完成条件判断的功能,方便起见,我们一般使用中括号来对条件表达式进行判断。
能判断的种类有:
1. 文件类型: [ 选项 文件名 ]
选项有:
-e:文件存在(exist),返回真
-d:文件存在且为目录文件(directory),返回真
-f:文件存在且为普通文件(regular file),返回真
-b:文件存在且为块设备文件(block),返回真
-c:文件存在且为字符设备文件(char),返回真
-L:文件存在且为符号链接文件(symbolic link),返回真
-P:文件存在且为命令管道文件(named pipe),返回真
-s:文件存在且为内容为非空文件(这个参数很特殊,英文没发对应),返回真
-S:文件存在且为套接字文件(Socket),返回真
2. 文件权限:[ 选项 文件名 ]
选项有:
-r:文件存在且权限为只读,返回真
-w:文件存在且权限为只写,返回真
-x:文件存在且为可执行文件,返回真
-u:文件存在且有SUID权限,返回真
-g:文件存在且有SGID权限,返回真
-k:文件存在且有SBIT权限(sticky bit),返回真。SBIT(防删除)权限与只读权限(没有写权限)不同,防删除权限不允许用户删除文件但允许用户添加文件,而只读权限(没有写权限)不仅不允许用户删除文件,也不允许用户添加文件。
3. 文件之间进行比较:[ 文件1 选项 文件2 ]
选项有:
-nt:(newer than),文件1存在且文件1比文件2新(修改时间),返回真
-ot:(older than),文件1存在且文件1比文件2老(修改时间),返回真
-ef:文件1和文件2存在且拥有相同的inode号,返回真
4. 整数之间进行比较:[ 整数1 选项 整数2 ]
选项有:
-eq:(equal),整数1与整数2相等,返回真
-ne:(not equal),整数1与整数2不相等,返回真
-gt:(greater than),整数1比整数2大,返回真
-lt:(less than),整数1比整数2小,返回真
-ge:(greater than or equal),整数1大于或等于整数2,返回真
-le:(less than or equal),整数1小于或等于整数2,返回真
因为选项已经是数值比较,所以系统会自动将数字字符串转化为数值进行比较。
5. 字符串之间比较:[ 字符串1 选项 字符串2 ]
选项有:
-z:(zero),如果字符串长度为零,返回真
-n:(nonzero),如果字符串长度非零, 返回真
!=:字符串1与字符串2不相等,返回真
=:字符串1与字符串2相等,返回真(双等于号==有同样的判断效果)
<:根据字典序,字符串1小于字符串2,返回真
>:根据字典序,字符串1大于字符串2,返回真
6. 多重条件判断(逻辑运算): [ 表达式1 逻辑选项 表达式2 ]
逻辑选项有:
-a:表示逻辑且
-o:表示逻辑或
!:表示逻辑非
若有不对之处,敬请指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值