1.条件测试操作
test命令
测试表达式是否成立,若成立返回0,否则返回其他数值
格式1:test 条件表达式
格式2:[ 条件表达式 ] #前后有空格
文件测试
[ 操作符 文件或目录 ]
常用的测试操作符
-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-x:测试当前用户是否有权限执行(excute)
举例:
[root@server media]# [ -d /media ] #存在这个文件夹
[root@server media]# echo $?
0
[root@server ~]# [ -d /media/cdrom ] #不存在这个文件夹
[root@server ~]# echo $?
1
[root@server ~]# [ -d /media ] && echo "abc" #前面为真,则输出
abc
[root@server ~]# [ -d /media/cdrom ] || echo "abc" #或者的意思,不管是否成立,都会输出
abc
[root@server ~]# echo $[!0]
1
整数值比较
整数值比较
[ 整数1 操作符 整数2 ]
常用的测试操作符
-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)
常用的测试操作符
[root@server ~]# cat /etc/passwd | wc -l
44
[root@server ~]# [ $(cat /etc/passwd | wc -l) -gt 100 ] && echo "more than 100"
[root@server ~]# [ $(cat /etc/passwd | wc -l) -gt 10 ] && echo "more than 10"
more than 10
[root@server ~]# free -m
total used free shared buff/cache available
Mem: 1823 294