test命令常用作检查某些条件是否成立。
数值测试
-eq:检测两个数是否相等,相等返回true
-ne:检测两个数是否相等,不相等返回true
-gt:检测左边的数是否大于右边,是则返回true
-lt:检测左边的数是否小于右边的,是则返回true
-ge:检测左边的数是否大于等于右边,是则返回true
-le:检测左边的数是否小于等于右边,是则返回true
字符串测试
=:检测两个字符串是否相等,相等返回ture
!=:检测两个字符串是否相等,不相等返回true
-z:检测字符串长度是否为0,为0返回true
-n:检测字符串长度是否为0,不为0返回true
文件测试
-e file:检测文件是否存在,如果是则返回true
-r file:检测文件是否存在且可读,如果是则返回true
-w file:检测文件是否存在且可写,如果是则返回true
-x file:检测文件是否存在且可执行,如果是则返回true
-s file:检测文件是否存在且至少有一个字符,如果是则返回true
-d file:检测文件是否是目录,如果是则返回true
-f file:检测文件是否是普通文件,如果是则返回true
-c file:检测文件是否是字符型特殊文件,如果是则返回true
-b file:检测文件是否是块特殊文件,如果是则返回true
例
结果