bash的测试类型:
数值测试:
-gt:是否大于;
-ge:是否大于等于;
-eq:是否等于;
-ne:是否不等于;
-lt:是否小于;
-le:是否小于等于;
字符串测试:
==:是否等于;
>:是否大于;
<:是否小于;
!=:是否不等于;
=~:左侧字符串是否能够被右侧的PATTERN所匹配;
注:此表达式一般用于[[ ]]中;
-z "字符串":测试字符串是否为空,空则为真,不空则为假;
-n "字符串":测试字符串是否不空,不空则为真,空则为假;
注:用于字符串比较时用到的操作数都应该使用引导;
文件测试:
存在性测试
-a file
-e file:文件存在性测试,存在为真,否则为假;
存在性及类别测试
-b file:是否存在且为块设备文件;
-c file:是否存在且为字符设备文件;
-d file:是否存在且为目录文件;
-f file:是否存在且为普通文件;
-h file或 -L file:存在且为符号链接文件;
-p file:是否存在且为命名管道文件;
-S file:是否存在且为套接字文件;