test 表达式 或者 [表达式]
test是shell脚本完整的条件测试命令,流程控制及自定义函数等结构化的程序语言特征.
它的测试表达式包括字符串,数值,文件与逻辑4类.
A. 字符串运算符(字符串不可以用通配符, 运算符左右都应该留有空格!!!!!)
=, str1 = str2, 若str1与str2相等,则表达式为真.
!=, str1 != str2, 若str1与str2不相等,则表达式为真.
str, str ,若str为NULL,则表达式为真.
-n str, 若str长度大于0,则表达式为真.
-z str, 若str长度为0
B. 数值运算符
int1 -eq int2 ,若int1=int2,则表达式为真.
int 1 -ge int2 ,若int1>=int2,则表达式为真.
int1 -le int2 ,若int1<=int2,则表达式为真.
int 1 -gt int2 ,若int1>int2,则表达式为真.
int1 -lt int2 ,若int1<int2,则表达式为真.
int1 -ne int2 ,若int1 != int2,则表达式为真.
C. 文件运算符.(用来判断文件是否存在.文件类型及属性)
-d file ,若file为目录文件,为真.
-f file ,若file为一般文件, 为真.
-s file ,若file为长度大于0的文件,为真.
-r file ,若file可读取,为真.
-w file ,若file可写入,为真.
-x file ,若file可执行,为真.
D.逻辑运算符.
!expression ,若expression的值为假,则表达式为真.(!)
expression1 -a expression2 ,若expression1入expression2的值都为真,则表达式为真.(and)
expression1 -o expression2,若两个expression都为假,则表达式为假.(or)