条件测试操作
test命令
测试表达式是否成立,若成立返回0,否则返回其他数值
格式一:test 条件表达式
格式二:[ 条件表达式 ]
注:括号里的两边有括号
文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
-d:测试是否为目录( Directory) 。
-e:测试目录或文件是否存在(Exist ) 。
-f:测试是否为文件(File) 。
-r:测试当前用户是否有权限读取(Read) 。
-w:测试当前用户是否有权限写入(Write)
-x:测试是否设置有可执行(Excute)权限。
-b:测试是否为设备文件
-c:测试是否为字符设备文件
-s:测试存在且文件大小为空
-L:测试是否为链接文件
[root@localhost ~]#[ -d/media/cdrom ]
[root@localhost ~]# echo $?
0 (返回0表示条件成立)
[root@localhost ~]#[ -d /media/cdrom/Server ]
[root@localhost ~]# echo $?
1 (返回1表示条件不成立)
[root@localhost ~]#[ -d lmedialcdrom ] && echo "YES"YES
注:&&:逻辑与,“而且”的意思
示例:
整数值比较
[ 整数1 操作符 整数2 ]
常用的测试操作符
-eq:等于 (Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)
[root@localhost ~]# who | wc -l
7
[root@localhost ~]#[$(who | wc -l) -gt 5 ] && echo "Too many." 用户数是否>5
Too many.
[root@localhost ~]#[$(who | wc -l) -ge 10 ]&& echo "> = 10." 用户数是否>=10
[root@localhost ~]# FreeCC=$(free -m | grep "Mem: " | awk "{iprint $6}')
[root@localhost ~]#[$FreeCC -It 024]&& echo ${FreeCC}MB 空闲内存是否<1024MB
275MB
示例:
查看内存