test

test命令

test的条件不支持模糊匹配,必须用完全匹配。

 

格式:

test         condition

测试范围:整数,字符串,文件,条件成立,那么命令返回退出状态码为0.

 

变量测试语句可以用[]进行简化:

test         condition       等价于           [ condition ]  (condition前后都要空格)

最好写成 [[confition ]]

 

在if语句中的格式:

if     test         condition

if     [[ condition ]]          只能进行简单运算的比较

 

整数测试:

int1         -eq          int2         测试整数是否相等(equal)

int1         -ge          int2         测试int1是否大于等于int2(greater equal)

int1         -gt          int2         测试int1是否大于int2(greater than)

int1         -le          int2         测试int1是否小于等于int2(less equal)

int1         -lt           int2         测试int1是否小于int2(less than)

int1         -ne          int2         测试整数是否不等(noequal)

 

字符串测试:

str1  = str2         测试字符串是否相等,等价于 str1 == str2,=前后一定要空格,否则为赋值。

str1 != str2            测试字符串是否不相等

str1 \< str2             测试字符串str1是否小于str2

str1 \> str2             测试字符串str1是否大于str2

-n    str1                测试字符串是否不为空(长度大于0)

-z    str1                测试字符串是否为空(长度为0)

注意:大于和小于要使用转义字符,否则会当作重定向。

在test中大写字母小于小写字母。

 

文件测试:

-e    file                指定file存在

! –e file ]              判断文件不存在。

-d    file                指定file是否为目录

-f     fiel                指定file是否为常规文件(二进制文件)

-r     file                指定file是否可读

-w   file                指定file是否可写

-x    file                指定file是否可执行

-a    file                指定file是否存在

-s     file                file是否非蕶(不为空)

-O   file                file是否被当前用户拥有

-G   file                file默认组是否是当前用户组

-h  / -L     file         文件是软连接      

file1 –nt   file2        检查file1是否比file2新

file1 -ot   file2         检查file1是否比file2旧


test命令的退出状态码,当条件为真返回码为0,条件为假退出状态码为非0.

 

复合条件检查:

[[ condition1 ]]  &&  [[ condition2 ]]                  两个条件都满足才执行then,等效于-a

[[ condition1 ]]  ||  [[ condition2 ]]                  任意一个满足就执行then,等效于-o


未完待续......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值