linux shell编程 判断,Linux Shell编程-条件判断

1 按照文件类型进行判断

-b 文件:判断该文件是否存在,并且是否为块设备文件(是块设备文件为真)

-c 文件:判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真)

-d 文件:判断该文件是否存在,并且是否为目录文件(是目录文件为真)

-e 文件:判断该文件是否为真(存在为真)

-f 文件:判断该文件是否存在,并且是否为普通文件(是普通文件为真)

-L 文件:判断该文件是否存在,并且是否为符号链接文件(是符号链接文件为真)

-p 文件:判断该文件是否存在,并且是否为管道文件(是管道文件为真)

-s 文件:判断该文件是否存在,并且是否为非空(为非空是真)

-S 文件:判断该文件是否存在,并且是否为套接字文件(是套接字文件为真)

两种判断格式

test -e /root/install.log

[ -e /root/install.log ]

9bf12ba3271fbc323d4aacf8ae908096.png

我们知道$?可以判断上一个命令是否正确执行,0是正确执行,非0是错误执行

但是这样太麻烦,我们可以用另外一种方法

bbff74c5b200b968a626bd268c958c8e.png

如果是真,输出yes,如果非真,输出no

2 按照文件权限进行判断

-r 文件:判断该文件是否存在,并且是否该文件具体读权限(有读权限为真)

-w 文件:判断该文件是否存在,并且是否该文件具有写权限(有写权限为真)

-x 文件:判断该文件是否存在,并且是否该文件具有执行权限(有执行权限为真)

-u 文件:判断该文件是否存在,并且是否该文件具有SUID权限(有SUID权限为真)

-g 文件:判断该文件是否存在,并且是否该文件具有SGID权限(有SGID权限为真)

-k 文件:判断该文件是否存在,并且是否该文件具有SBit权限(有SBit权限为真)

847ea25e94117734ece545bda7d50a2e.png

注意,这里判断有什么权限只要文件拥有者,所属组和其他人,任何一个有相应的权限,就算有

3 两个文件之间进行比较

文件1 -nt 文件2:判断文件1的修改时间是否比文件2新(如果新则为真)

文件1 -ot 文件2:判断文件1的修改时间是否比文件2旧(如果旧则为真)

文件1 -et 文件2:判断文件1是否和文件2的Inode号一致,可以理解为两个文件是否为同一个文件,这个判断用于判断硬链接是很好的方法

e8a22ee5f42ab0dcfd1a8e6073ed4f5e.png

4 两个整数之间的比较

整数1 -eq 整数2:判断整数1是否和整数2相等(相等为真)

整数1 -ne 整数2:判断整数1是否和整数2不相等(不相等为真)

整数1 -gt 整数2:判断整数1是否大于整数2(大于为真)

整数1 -lt 整数2:判断整数1是否小于整数2(小于为真)

整数1 -ge 整数2:判断整数1是否大于等于整数2(大于等于为真)

整数1 -le 整数2:判断整数1是否小于等于整数2(小于等于为真)

0ff20a449584ad0aad37a75573300537.png

5 字符串的判断

-z 字符串:判断字符串是否为空(为空返回真)

-n 字符串:判断字符串是否为非空(非空返回真)

字符串1==字符串2:判断字符串1和字符串2是否相等(相等返回真)

字符串1!=字符串2:判断字符串1和字符串2是否不等(不等返回真)

aaf43e5e10cce2543f17d3d7c28634b2.png

9ef4cea1903162c76f23dc4a6d69470b.png

6 多重判断条件

判断1 -a 判断2 :逻辑与,判断1和判断2都成立,最终的结果才为真

判断1 -o 判断2:逻辑或,判断1和判断2有一个成立,最终的结果就为真

! 判断:逻辑非,使原始的判断式取反

6d3c4e1c20f2e9973eda016a9e0b7f39.png

好了,Linux Shell编程-条件判断就总结到这里,如有问题,欢迎指正,谢谢。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值