首页 windows软件 手机软件 驱动下载 电脑教程 专题合集
当前位置: 首页 > 电脑教程 > Linux教程 > shell编程中的条件判断基本知识

shell编程中的条件判断基本知识

时间:2015-04-21 17:27:53

小编:动力软件园

阅读:

所有的判断需要用标准的格式 [ -e/-b-f ] 中括号和判断参数之间有空格

一、按照文件类型进行条件判断

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

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

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

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

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

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

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

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

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

 

二、按照文件权限判断

-r  文件:判断文件是否存在,并且是否有读权限,有读权限为真。

-w 文件:判断文件是否存在,并且是否有写权限,

-x 文件:判断文件是否存在,并且是否有执行权限

-u 文件:判断文件是否存在,并且是否有SUID权限

-g 文件:判断文件是否存在,并且是否有SGID权限

-k 文件:判断文件是否存在,并且是否有SBit权限

 

三、两个文件之间的比较 nt (newtime ) ot(oldtime)ef()

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

文件2 -ot 文件2 判断文件2的修改时间是否比文件2旧

文件1 -ef 文件2 判断两个文件的inode节点号是否一致。常用来判断硬链接文件是否是同一个文件。

四、两个整数之间的比较

整数1   -eq   整数2  相等

整数1   -ne   整数2  不相等

整数1    -gt   整数2  大于

整数1    -lt    整数2 小于

整数1    -ge 整数2 大于等于

整数1    -le  整数2 小于等于

 

五、字符串的判断(返回真)

-z  字符串  判断字符串是否为空

-n 字符串 判断是否为非空

字符串 1== 字符串2  两个字符串是否相等。这里声明,规范的写法是==。=用来赋值,虽然用=也不错,但是不符合规范,强烈建议用==

字符串 != 字符串2 不相等

六、多重判断条件

 条件1 -a 条件2  逻辑与 判断1和2都成立,结果为真,-a是两个条件相连接

 条件1 -o 条件2 逻辑或   有一个成立,结果为真

!判断                逻辑非  使原始的判断取反。

相关阅读

火爆手游