11.4-Shell编程-条件判断

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第十一讲Shell编程主讲人:沈超()交流论坛:文件判断该文件是否存在,并且是否为块设备文件(是块设备文件为真)-c文件判断该文件是否存在,并且是否为字符设备文件(是字符设备文件为真)-d文件判断该文件是否存在,并且是否为目录文件(是目录为真)-e文件判断该文件是否存在(存在为真)-f文件判断该文件是否存在,并且是否为普通文件(是普通文件为真)-L文件判断该文件是否存在,并且是否为符号链接文件(是符号链接文件为真)-p文件判断该文件是否存在,并且是否为管道文件(是管道文件为真)-s文件判断该文件是否存在,并且是否为非空(非空为真)-S文件判断该文件是否存在,并且是否为套接字文件(是套接字文件为真)1、按照文件类型进行判断两种判断格式[root@localhost~]#test-e/root/install.log[root@localhost~]#[-e/root/install.log][-d/root]&&echoyes||echono#第一个判断命令如果正确执行,则打印“yes”,否则打印“no”2、按照文件权限进行判断测试选项作用-r文件判断该文件是否存在,并且是否该文件拥有读权限(有读权限为真)-w文件判断该文件是否存在,并且是否该文件拥有写权限(有写权限为真)-x文件判断该文件是否存在,并且是否该文件拥有执行权限(有执行权限为真)-u文件判断该文件是否存在,并且是否该文件拥有SUID权限(有SUID权限为真)-g文件判断该文件是否存在,并且是否该文件拥有SGID权限(有SGID权限为真)-k文件判断该文件是否存在,并且是否该文件拥有SBit权限(有SBit权限为真)[-wstudent.txt]&&echoyes||echono#判断文件是拥有写权限的3、两个文件之间进行比较测试选项作用文件1-nt文件2判断文件1的修改时间是否比文件2的新(如果新则为真)文件1-ot文件2判断文件1的修改时间是否比文件2的旧(如果旧则为真)文件1-ef文件2判断文件1是否和文件2的Inode号一致,可以理解为两个文件是否为同一个文件。这个判断用于判断硬链接是很好的方法ln/root/student.txt/tmp/stu.txt#创建个硬链接吧[/root/student.txt-ef/tmp/stu.txt]&&echoyes||echonoyes#用test测试下,果然很有用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(小于等于为真)[23-ge22]&&echoyes||echonoyes#判断23是否大于等于22,当然是了[23-le22]&&echoyes||echonono#判断23是否小于等于22,当然不是了5、字符串的判断测试选项作用-z字符串判断字符串是否为空(为空返回真)-n字符串判断字符串是否为非空(非空返回真)字串1==字串2判断字符串1是否和字符串2相等(相等返回真)字串1!=字串2判断字符串1是否和字符串2不相等(不相等返回真)name=sc#给name变量赋值[-z$name]&&echoyes||echonono#判断name变量是否为空,因为不为空,所以返回noaa=11bb=22#给变量aa和变量bb赋值[$aa==bb]&&echoyes||echonono#判断两个变量的值是否相等,明显不相等,所以返回no6、多重条件判断测试选项作用判断1-a判断2逻辑与,判断1和判断2都成立,最终的结果才为真判断1-o判断2逻辑或,判断1和判断2有一个成立,最终的结果就为真!判断逻辑非,使原始的判断式取反aa=11[-n$aa-a$aa-gt23]&&echoyes||echonono#判断变量aa是否有值,同时判断变量aa的是否大于23#因为变量aa的值不大于23,所以虽然第一个判断值为真,返回的结果也是假aa=24[-n$aa-a$aa-gt23]&&echoyes||echonoyes

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功