零、测试结构
常用判断文件或目录存在?
// 测试 第一种使用方式
test expression
// 测试 第二种使用方式(推荐)
[ expression ]
一、文件测试
# 文件测试方法一
test file_operator FILE
# 文件测试方法二
[ file_operator FILE ]
文件测试 | 说 明 |
---|---|
-b | 当文件存在且是个块文件时返回真,否则为假 |
-c | 存在,字符设备 |
-d | 存在,目录 |
-e | 存在,文件 或 目录 |
-f | 存在,普通文件 |
-x | 存在,可执行文件 |
-w | 存在,可写文件 |
-r | 存在,可读文件 |
-l | 存在,连接文件 |
-p | 存在,管道文件 |
-s | 存在,大小不为0 |
-S | 存在,socket文件 |
-g | 存在,设置sgiD |
-u | 存在,设置SUID |
-k | 存在,设置sticky |
-G | 存在,属于有效用户组 |
-O | 存在,属于有效用户 |
FILE1 -nt FILE2 | 当FILE1 比 FILE2新 |
FILE1 -ot FILE2 | 当FILE1 比 FILE2旧 |
二、字符串测试
字符串测试 | 说 明 |
---|---|
-z | 字符串为空表示真,否则为假 |
-n | 判断非空 |
“string1” = “string2” | 是否相同 |
“string1” != “string2” | 是否不相同 |
“string1” > “string2” | 按照字典序排序,字符串string1 是否排在 string2之后 |
“string1” < “string2” | 字符串string1 是否排在 string2之前 |
三、整数比较
文件测试 | 说 明 |
---|---|
-eq | 等于,eq(equal) |
-gt | 大于,gt(greate than) |
-lt | 小于,lt(less than) |
-ge | 大于等于,ge(greater equal) |
-le | 小于等于,le(less equal) |
-ne | 不等于,ne(not equal) |
四、逻辑测试服 和 逻辑运算符
文件测试 | 说 明 |
---|---|
! expression | 非 |
expression1 -a expression2 | expression1 expression2 同真则真 |
expression1 -o expression2 | expression1 expression2 有真则真 |
文件测试 | 说 明 |
---|---|
! | 逻辑非,对真假去反 |
&& | 逻辑与,连接两个表达式,同真则真 |
|| | 逻辑或,连接两个表达式,有真则真 |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。