shell——条件判断

本文详细介绍了Shell脚本中的条件判断,包括使用test命令、方括号[ ]以及双方括号[[ ]]进行文件类型、文件权限、文件新旧程度、整数大小和字符串的判断,还讲解了如何实现多重条件判断。

1、判断方式

方式1:test
方式2: [ ]
方式3: [[ ]]支持正则

2、 判断文件类型

判断参数含义

-e #判断文件是否存在(任何类型文件)
-f #判断文件是否存在并且是一个普通文件
-d #判断文件是否存在并且是一个目录
-L #判断文件是否存在并且是一个软链接文件
-b #判断文件是否存在并且是一个块设备文件
-S #判断文件是否存在并且是一个套接字文件
-c #判断文件是否存在并且是一个字符文件
-p #判断文件是否存在并且是一个命名管道文件
-s #判断文件是否存在并且是一个非空文

3、判断文件权限

判断 参数含义

-r #当前用户对其是否有读权限
-w #当前用户对其是否有写权限
-x #当前用户对其是否有执行权限
-u #当前用户对其是否有suid特殊权限(高级权限冒险位)
-g #当前用户对其是否有guid特殊权限(高级权限强制位)
-k #当前用户对其是否有o+t特殊权限(高级权限粘滞位)
o+t权限:任何用户可以写,但只有文件拥有者和超级用户可以删
u+s权限:针对某个程序任何用户都有读写这个程序的权限
g+s权限:组里的目录下文件编入到此群组中,无论是哪个用户创建的文件

4、判断文件新旧

判断参数含义

file1 -nt file2 #比较file1是否比file2新
file1 -ot file2 #比较file1是否比file2旧
file1 -ef file2 #比较是否为同一个文件,或者用于判断硬连接,是否指向同一个inode

5、判断整数大小

判断参数含义

-eq #相等
-ne #不相等
-gt #大于
-ge #大于等于
-lt #小于
-le #小于等于

6、判断字符串

判断参数含义

-z #判断是否为空字符串,字符串长度位0
-n #判断是否为非空字符串,字符串长度大于0
string1 = string2 #判断字符串是否相等
string1 != string2 #判断字符串是否不相等

7、多重条件判断

判断符号含义

-a 和 && #逻辑与,全真则真
-o 和 || #逻辑或,全假则假
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值