7、条件判断


7条件判断

7条件判断 1

1. test 或者 [ 条件 ]进行测试 3

2. 文件存在判断 3

2.1. -e 判断文件是否存在 3

2.2. -s 判断文件是否存在且有数据(即不为空,非空为真) 3

3. 判断文件类型 4

3.1. 类型判断 4

4. 判断文件权限 4

4.1. -r 判断文件是否存在且拥有读权限 5

4.2. -w 判断文件上都存在且拥有写权限(只要有任何一个人有写就算有写权限) 5

4.3. -x 判断文件是否存在且拥有执行权限 5

4.4. -u 判断文件是否存在且拥有有SUID 5

4.5. -g 判断文件是否存在且拥有有SGID 5

4.6. -k 判断文件是否存在且拥有有SBit(不常见) 5

5. 两文件之间进行比较 5

5.1. 文件1 -nt(new than) 文件2 5

5.2. 文件1 -ef (equal file)文件2 6

6. 两个整数之间的比较 6

6.1. 整数1 -eq 整数2 6

6.2. 整数1 -ne 整数2 6

6.3. 整数1 -gt 整数2 6

6.4. 整数1 -lt 整数2 6

6.5. 整数1 -ge 整数2 7

6.6. 整数1 -le 整数2 7

6.7. 算式判断方法 7

7. 字符串判断 8

7.1. -z 字符串 判断字符串是否为空 8

7.2. -n 字符串 判断字符串是或否非空 8

7.3. 字符串1==字符串2 判断字符串1是否和字符串2相等 8

7.4. 字符串1 !==字符串2 判断字符串1是否和字符串2不相等 8

7.5. 字符串判断变量最好都加上“”(尤其是-n) 8

8. 多重条件判断 8

8.1. 判断1 &&或 -a 判断2 都成立则为真 8

8.2. 判断1 || 或 -o 判断2 有一个成立则为真 9

8.3. !逻辑非 9

test 或者 [ 条件 ]进行测试

文件存在判断

-e 判断文件是否存在

7、条件判断

之后判断是否存在不用test而是用[ -e 文件名 ] 下图为更高级的用法

7、条件判断

-s 判断文件是否存在且有数据(即不为空,非空为真)

7、条件判断

判断文件类型

类型判断

-f 判断文件是否存在且为普通文件

7、条件判断

-d 判断文件是否存在且为目录文件

-b 判断文件是否存在且为块设备文件(/dev/sda1)

-L 判断文件是否存在且为符号链接文件

-c 判断文件是否存在且字符设备文件

-p 判断文件是否存在且为管道文件

-S(大写)判断文件是否存在且为套接字文件

判断文件权限

-r 判断文件是否存在且拥有读权限

-w 判断文件上都存在且拥有写权限(只要有任何一个人有写就算有写权限)

7、条件判断

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

-u 判断文件是否存在且拥有有SUID

7、条件判断

-g 判断文件是否存在且拥有有SGID

-k 判断文件是否存在且拥有有SBit(不常见)

两文件之间进行比较

文件1 -nt(new than) 文件2

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

7、条件判断

文件1 -ef (equal file)文件2

判断文件1是否和文件2是硬链接(Inode号一致)

两个整数之间的比较

整数1 -eq 整数2

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

整数1 -ne 整数2

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

整数1 -gt 整数2

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

整数1 -lt 整数2

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

7、条件判断

整数1 -ge 整数2

判断整数1是否大于等于整数2(小于为真)

7、条件判断

整数1 -le 整数2

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

算式判断方法

7、条件判断

字符串判断

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

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

建议:若不是空,就执行

字符串1==字符串2 判断字符串1是否和字符串2相等

7、条件判断

变量在前切记$aa要加上双引号

字符串1 !==字符串2 判断字符串1是否和字符串2不相等

字符串判断变量最好都加上“”(尤其是-n)

多重条件判断

判断1 &&或 -a 判断2 都成立则为真

判断 aa是否有值且大于30

7、条件判断

判断1 || 或 -o 判断2 有一个成立则为真

!逻辑非

7、条件判断

"! -n "相当于

发布者:LJH,转发请注明出处:https://www.ljh.cool/35183.html

(0)
上一篇 2023年4月5日 下午10:50
下一篇 2023年4月5日 下午10:53

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注