shell中的条件语句,文件条件,数值比较,逻辑操作符

本文深入讲解了Shell中常用的条件测试语句,包括文件测试、整数比较和逻辑操作符的用法,如[-d, -f, -r, -s, -w, -x, -L, f1-ntf2, f1-otf2, -eq, -ne, -gt, -ge, -lt, -le, -a, -o, !],以及在不同条件表达式([, test, [[, ((])中的适用性。

shell中经常会使用到条件测试的语句,常见的条件测试语句如下:

条件语句说明
test 条件表达式test和条件表达式之间至少有一个空格
[ 条件表达式 ][]和条件表达式之间至两边各少有一个空格,和test等价 ,&&、||,>、< 不可以运用在[],可以使用-a、-o、-gt、-lt
[[ 条件表达式 ]][[]] 和条件表达式之间至两边各少有一个空格 ,&&、||,>、< 可以运用在[[]]
((条件表达式))(())和条件表达式之间不需要空格

常用文件测试语句

条件语句说明
-dd表示directory,判断目录是否存在,存在条件满足
-ff表示文件,文件是否存在
-ee表示exists,判断文件是否存在,这里不区分是文件还是文件件
-rr表示read,文件存在且可读
-ss表示size,文件存在且大小不为0
-ww表示write,文件存在且可写
-xx表示executable,文件存在且可执行
-LL表示Line,文件存在并且是链接文件
f1 -nt f2nt表示newer than,文件f1比文件f2新则为真,根据文件的修改时间来计算新旧
f1 -ot f2ot表示为older than,文件f1比文件f2旧为真

整数比较:

在 []、test和[[]]使用的比较符号在(())和[[]]使用说明
-eq== 或 =相等,eq表示equal
-ne!=不相等,ne表示 not equal
-gt>大于,gt表示greater than
-ge>=大于等于,ge表示greater equal
-lt<小于,lt表示less than
-le<=小于等于,le表示 less equal

逻辑操作符:

在 []、test使用的比较符号在(())和[[]]使用说明
-a&&and,与,两边条件成立结果为true
-o||or,或,两边条件成立一个,结果为true
!!not,非,两边条件相反,结果为true
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值