您的位置:首页 > 运维架构 > Shell

shell中条件测试操作

2013-03-23 16:24 246 查看
条件测试操作

1.test命令

在shell环境中,可以根据命令执行后的返回状态值来判断该命令是否成功执行,当返回值为

0时表示成功执行,否则(非0值)表示执行失败。

test测试命令时,可以由以下两种形式:

test 条件表达式 或者 [ 条件表达式 ]

2.测试文件状态

[ 操作符 文件或目录 ]

常用的操作符如下:

-d:测试是否为目录(directory)。

-e:测试目录或文件是否存在(exist)。

-f:测试是否为文件(file)。

-r:测试当前用户是否有权限读取(read)。

-w:测试当前用户是否有权限写入(write)。

-x:测试当前用户是否有权限执行该文件(execute)。

-L:测试是否为符号链接文件(Link)。

3.整数值比较

[ 第1个整数 操作选项 第2个整数 ]

常用的操作选项如下:

-eq:等于(equal)。

-ne:不等于(not equal)。

-gt:大于(greater than)。

-lt:小于(lesser than)。

-le:小于或等于(lesser or equal)。

-ge:大于或等于(greater or equal)。

4.字符串比较

[ 字符串1 操作选项 字符串2 ]

常用的操作选项如下:

=:匹配。

!=:不匹配。

-z str:str长度为0

-n str:str长度不为0

5.逻辑测试

[ 条件表达式1 操作选项 条件表达式2 ]

常用的操作选项如下:

&&:逻辑与,前后两个表达式都成立时整个测试结果才为真,否则为假。在使用test命令

形式进行测试时,此选项可以改为“-a”。

||:逻辑或,前后两个条件至少有一个成立时整个测试结果即为真,否则为假。在使用test

形式进行测试时,此选项可以改为“-o”。

!:逻辑否,表示当指定条件表达式不成立时,整个测试命令的结果为真。

6.空值测试

["$name"=""]

[!"$name"]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: