linux - 条件测试符

一、 文件测试与数值测试

1、文件测试

[ 操作符 文件或目录 ]

1、常用的测试操作符

-d∶ 测试是否为目录(Directory)
-e∶ 测试目录或文件是否存在(Exist)
-f∶ 测试是否为文件(File)
-r∶ 测试当前用户是否有权限读取(Read)
-w∶ 测试当前用户是否有权限写入(Write)
-x∶测试当前用户是否有权限执行(eXcute)
-L∶测试是否为软链接文件

例:测试 test.sh 是否为文件和目录,test.sh 是一个脚本文件,不是目录。

在这里插入图片描述

2、test命令

	格式1:    test 条件表达式
	格式2:    [ 条件表达式 ]

常用的测试操作符
	-eq∶ 等于(Equal)
	-ne∶ 不等于(Not Equal)
	-gt∶ 大于(Greater Than)
	-lt∶ 小于(Lesser Than)
	-le∶ 小于或等于(Lesser or Equal)·
	-ge∶ 大于或等于(Greater or Equal)

例:判断 6 与 3 的大小关系 (表达式与判断符之间要有空格,否则会报错)
在这里插入图片描述

在这里插入图片描述

3、整数比较

【 整数1 操作符 整数2 】
[root@localhost ~]# who | wc -l
1
[root@localhost ~]# [ $(who | wc -l) -lt 4 ] && echo "<4"
<4

[root@localhost ~]# FreeCC=$(free -m | grep "Mem:" | awk '{print $6}')
[root@localhost ~]# [ $FreeCC -lt 2024 ] && echo ${FreeCC}MB
1036MB

4、字符串比较

1. 字符串测试与逻辑测试

格式1:
	[ 字符串1 = 字符串2 ]
	[ 字符串1 != 字符串2 ]
格式2:
	[ -z 字符串 ]
[root@localhost ~]# echo $LANG
zh_CN.UTF-8
[root@localhost ~]# [ $LANG != "en.US" ] && echo "Not en.US"
Not en.US

5、常用的测试操作符

-a或&& 		逻辑与,“而且”的意思
-o或|| 		逻辑或,“或者”的意思
! 			逻辑否

判断/etc 是否为目录和是否有可读权限

[root@localhost ~]# [ -d /etc ] && [ -r /etc ] && echo "you can open it"
you can open it

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值