shell 测试命令表达式

test 命令是shell 编程中条件判断常用的测试命令:

 

测试文件属性表达式
表达式说明
-b file如果文件file存在且为块设备,则值为真
-c file如果文件file 存在且为字符设备,则值为真
-r file如果文件file 存在且只为只读,则值为真
-w file如果文件file存在且是可写入,则值为真
-x file如果文件file存在且是可执行,则值为真
-s file如果文件file 存在且长度为零,则值为真
-d file如果文件是一个目录,则值为真
-f file如果文件file 是一个普通文件,则值为真。
-e file如果文件存在,则值为真

 

数值测试表达式

表达式 说明

n1 -eq n2

n1等于n2,则为真 n1 -ne n2 n1不等于n2 ,则为真 n1 -gt n2 n1大于n2,则为真

n1 -lt n2

n1小于n2 ,则为真 n1 -ge n2 n1大于等于n2,则值为真 n1 -le n2 n1小于等于n2,则值为真

 

测试字符串
表达式说明
-z s1如果字符串s1的长度是零,则值为真
-n sl如果字符串s1的长度不为零,则值为真
sl=s2如果字符串sl与字符串s2 相等,则值为真
s1!=s2如果字符串sl与字符串s2相等,则值为真
s1如果字符串sl不是空串,则值为真

 

测试逻辑运算符
逻辑操作符说明
-o二进制“或”操作符
-a二进制“与”操作符
!  一元“非”操作符