条件测试常用的语法:

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

注意:&&、||、>、<等操作符可以应用于[[]]中,但不能应用于[]中,在[]中一般用-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||
!!