linux test条件测试

语法

test EXPRESSION

[ EXPRESSION ]

[[ EXPRESSION ]]

数值测试

-eq  是否等于
-ne  是否不等
-gt  是否大于
-ge  是否大于等于
-lt  是否小于
-le  是否小于等于

字符串测试

比较时建议字符串变量要使用双引号,即使变量为空,也要使用双引号。

==  是否等于
!=  是否不等
>  是否大于
<  是否小于
=~  左侧字符串是否能被右侧PATTERN匹配,此表达式一般用于[[   ]]中
-z $1  $1是否为空,空为真
-n $1  $1是否不空,不空为真

文件测试(常用)

文件类型检测:

-e  文件名是否存在
-f  文件名是否存在且为文件
-d  文件名是否存在且为目录
-s  文件名是否存在且非空

文件权限检测:

-r  文件名是否存在且可读
-w  文件名是否存在且可写
-x  文件名是否存在且可执行

两文件比较:

-nt  判断file1是否比file2新
-ot  判断file1是否比file2旧
-ef  判断file1与file2是否为同一文件,hard link,判定两文件是否都指向同一inode

多重条件判定:

-a  两个条件全成立,则回传true
-o  有一个条件成立,则回传true
!  取反

原文地址:https://www.cnblogs.com/houyongchong/p/7880613.html