格式:test expression 或者 [ expression ]
返回:0表达式为真,1表达式为假或者缺少表达式,大于1表示发生错误
一、测试文件
例如:test -e dummy.txt
-e 存在
文件类型
-b block
-c character
-d directory
-f exist & regular
-p named pipe (FIFO)
-L symbolic link
-S socket
文件属性
-r 可读
-w 可写
-x 可执行
-f 非空(文件大小非0)
二、测试字符串
例:[ -n "hello"] 返回true
-n 非空, 省略-n直接写字符串也可以
-z 空
三、文件间比较
例如:[file1 -nt file2] 看看file1是否比file2新(newer than)
-ot older than
-ef exist & refer to the same file
四、字符串间比较(字典序)
s1 = s2
s1 != s2
s1 < s2
s1 > s2
五、数字间比较
例:[ 12 -eq "12" ] 结果是true
-eq equal
-ne not equal
-gt greater than
-ge greater than or equal
-lt
-le
六、与或非
注:优先级递减
非(NOT):! ex
与(AND):ex1 -a ex2
或(OR):ex1 -o ex2