20.bash中的条件判断

目录

1、按照文件类型进行判断 

2、按照文件权限进行判断 

3、两个文件之间进行比较 

4、两个整数之间比较 

5、字符串的判断 

6、多重条件判断   


1、按照文件类型进行判断 

测试选项

作用

-b 文件

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

块设备是I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据。例如U盘,SD卡。

-c 文件

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

字符设备是指在I/O传输过程中以字符为单位进行传输的设备例如键盘,打印机。

-d 文件

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

-e 文件

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

-f 文件

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

-L 文件

判断该文件是否存在,并且是否为符号连接文件(是符号连接文件为真)

-p 文件

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

-s 文件

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

-S 文件

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

&&符号:命令1执行成功后执行命令2

||符号:命令1执行成功则命令二不执行,命令1执行失败则执行命令2

2、按照文件权限进行判断 

测试选项

作用

-r 文件

判断该文件是否存在,并且是否该文件拥有读权限(有读权限为真)

-w 文件

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

-x 文件

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

-u 文件

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

-g 文件

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

-k 文件

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

3、两个文件之间进行比较 

测试选项

作用

文件1 -nt 文件2

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

文件1 -ot 文件2

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

文件1 -ef 文件2

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

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(小于等于为真

5、字符串的判断 

测试选项

作用

-z 字符串

判断字符串变量是否为空(为空返回真)

-n 字符串

判断字符串变量是否为非空(非空返回真)

字串1 == 字串2

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

字串1 != 字串2

判断字符串1变量是否和字符串2变量不相等(不相等返回真)

6、多重条件判断   

测试选项

作用

判断1 -a 判断2

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

判断1 -o 判断2

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

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

猜你喜欢

转载自blog.csdn.net/weixin_46659843/article/details/124127658