第四节shell条件测试(3.1)

三,判断表达式

1,文件判断表达式
常用的文件测试操作符说明
-a/-e 文件文件是否存在
-b 文件文件是否存在,且为块文件,如果文件存在且是一个块文件,则为0
-c 文件文件是否存在且为字符文件,如果文件存在且是一个字符文件,则结果为0
-l 文件文件存在且为链接文件则为1(真)
-d 文件文件存在且为目录则为1
-f 文件文件存在且为普通文件则为1
-s 文件文件存在且文件大小不为0则为1
-u 文件文件存在,没有设置suid位,则结果为1
-r 文件文件存在且可读则为1
-w 文件文件存在且可写则为1
-x 文件文件存在且可执行则为1
f1 -nt f2, nt为newer than文件存在且文件f1比文件f2新则为1,根据文件修改时间
f1 -ot f2, ot为older than文件f1比文件f2旧则为1,根据文件修改时间

示例:

a)判断文件是否存在
[ -a lee.sh ] && echo yes || echo no
yes
b)判断文件类型
[ -d /mnt ] && echo /mnt is directory
/mnt is directory
c)判断文件类型是否存在并不为空
[ -x file ] || echo file is not exist or file is empty file
file is not exist or file is empty file
d)判定文件权限
[ -x file ] || echo file is not execute
file is not execute
e)判定文件新旧
[ file -ot file1 ] && echo yes
yes

[!note]

在使用变量作为判断作为判断元素时需要引用变量值

当checkdir未被赋值时

[ -f $chekdir ] && echo yes || echo no
yes
[ -f "$chekdir" ] && echo yes || echo no
no
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星鬼123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值