现在的位置: 首页 > 综合 > 正文

shell 笔记 test命令

2014年02月02日 ⁄ 综合 ⁄ 共 813字 ⁄ 字号 评论关闭

 

test命令主要用于if语句中,可以做多种测试。

1. 文件相关

-b    当file存在并且是块文件时返回真
-c    当file存在并且是字符文件时返回真
-d    当pathname存在并且是一个目录时返回真
-e    当pathname指定的文件或目录存在时返回真
-f     当file存在并且是正规文件时返回真
-g     当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
-h     当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效
-k     当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真
-p     当file存在并且是命令管道时返回为真
-r     当由pathname指定的文件或目录存在并且可读时返回为真
-s     当file存在文件大小大于0时返回真
-u     当由pathname指定的文件或目录存在并且设置了SUID位时返回真
-w    当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
-o     当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。

2.比较字符串:
-eq    等于
-ne    不等于
-gt     大于
-lt    小于
-le     小于等于
-ge    大于等于
-z    空串
* =    两个字符相等
* !=   两个字符不等
* -n   非空串

 

3. 表达式的组合

组合表达式
操作 效果
[ !
EXPR ]
test的取反操作。如果
EXPR 是false则为真。
[ ( EXPR ) ] 返回 EXPR的值。这样可以用来忽略正常的操作符优先级。
[ EXPR1 -a EXPR2 ] 如果 EXPR1 and
EXPR2
全真则为真。
[ EXPR1 -o EXPR2 ] 如果 EXPR1 或者
EXPR2
为真则为真。

参考:http://apps.hi.baidu.com/share/detail/34846916

抱歉!评论已关闭.