条件测试语法

*注意: 测试表达式中的变量需要使用双引号“”,否者逻辑会出错。

语法1:

test <测试表达式>

 

语法2(推荐):

[ <测试表达式> ]

 

语法3(推荐):

[[ <测试表达式> ]]

 

语法4(支持所有数学公式计算,强烈推荐):

((<测试表达式>))

((num=num+1))

测试表达式

(0) 逻辑操作符;

(1) 整数测试; 

(2) 字符串测试;

(3) 文件测试

 

0、逻辑操作符:

[ ] 和 test 中使用: -a  -o   !

[[ ]] 和 (()) 中使用: &&  || !


1、整数测试:

A -gt B: 大于

A -ge B: 大于等于

A -eq B: 等于

A -lt B: 小于

A -le B: 小于等于

A -ne B: 不等于  not equal to


2、字符串测试(注意符号两端的空格):

A == B或A = B:等值比较

A != B: 不等于

-z A: 判断A是否为空;空则为真,不空则假;

-n A:判断A是否不空;不空则为真,空则为假;


3、文件测试:

-e $file: 是否存在;存在则为真;

-f $file: 文件是否存在,且为普通文件;

-d $file: 是否存在且为目录;

-h $file: 是否存在且为符号链接文件;

-L $file:同上

-b $file: 是否存在且为块设备文件;

-c $file: 是否存在且为字符设备文件;

-S $file: 是否存在且为套接字文件:

-p $file: 是否存在且为管道文件;

-r $file: 当前用户对此文件是否拥有读权限;

-w $file:                         写权限;

-x $file:                         执行权限;

-u $file: 文件是否拥有suid权限;

-g $file:文件是否拥有sgid权限;

-k $file: 文件是否拥有sticky权限;

-O $file: 当前用户是否为文件的属主;

-G $file: 当前用户是否属于文件的属组;

-N $file: 文件自从上一次被读取之后,是否被修改过;

posted on 2018-07-13 10:33  法海降妖  阅读(81)  评论(0编辑  收藏  举报