条件测试常用的语法:

语法格式 说明
[ <测试表达式> ] []的边界和内容之间至少有一个空格
[[  <测试表达式>  ]] [[]的边界和内容之间至少有一个空格

注意:&&、||、>、<等操作符可以应用于[[]]中,但不能应用于[]中,在[]中一般用-a,-o,-gt(用于整数)代替上述操作符

常用的文件判断操作符



-d 文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立
-f 文件,f的全拼为file 文件存在且为普通文件则为真,即测试表达式成立
-e 文件, e的全拼为exist 文件存在则为真,即测试表达式成立。-e不辨别是目录还是文件
-r/w/x 文件,r/w/x的全拼为read/write/executable 文件存在且可读/可写/可执行,即测试表达式成立
-s 文件,s的全拼为size 文件存在且文件大小不为0则为真
-L 文件,L的全拼为Link 文件存在且为链接文件则为真
f1 -nt f2,nt的全拼为newer than  文件f1比文件f2新则为真
f1 -ot f2,ot的全拼为older than  文件f1比文件f2旧则为真

     常用的字符串测试表达式


-n "字符串" 若字符串的长度不为0,则为真
-z "字符串" 若字符串的长度不为0,则为真

操作符比较

在test以及[]中使用的比较符号
在(())和[[]]中使用的比较符号 说明
-eq ==或= 等于
-ne != 不等于
-gt > 大于
-ge >= 大于等于
-lt < 小于
-le <= 小于等于
-a
&&
-o ||
! !