前端之家收集整理的这篇文章主要介绍了
【Linux学习】之 Shell(测试),
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
零、测试结构
常用判断文件或目录存在?
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 有真则真 |
文件测试 |
说 明 |
! |
逻辑非,对真假去反 |
&& |
逻辑与,连接两个表达式,同真则真 |
|| |
逻辑或,连接两个表达式,有真则真 |