1、Shell中的条件判断有四种:
1)[ 判断条件 ] -- 使用的时候前后必须有空格。也是用的最多的
2)test (判断条件) -- 前后必须有空格
3)((判断条件))
4)[[判断条件]] -- 双中括号就不需要转义字符,前后必须有空格。
|
[]和Test中使用的比较符 |
(())和[[]]中使用的比较符 |
说明 |
|
-eq |
==或= |
相等,equal |
|
-ne |
!= |
No equal |
|
-gt |
> |
Greater than |
|
-ge |
>= |
Greater equal |
|
-lt |
< |
Less than |
|
-le |
<= |
Less equal |
|
[]和test中使用的操作符 |
(())和[[]]中使用的操作符 |
说明 |
|
-a |
&& |
And |
|
-o |
|| |
Or |
|
! |
! |
Not 非 |
|
测试表达式符号 |
[] |
test |
[[]] |
(()) |
|
边界是否需要空格 |
需要 |
需要 |
需要 |
不需要 |
|
逻辑操作符 |
-a –o ! |
-a –o ! |
&& || ! |
&& || ! |
|
整数比较操作符 |
-eq –ne –gt –ge –lt -le |
-eq –ne –gt –ge –lt -le |
-eq –ne –gt –ge –lt –le 或 = > >= <= < |
-eq –ne –gt –ge –lt –le 或 = > >= <= < |
|
字符串比较操作符 |
= == != |
= == != |
= == != |
= == != |
|
是否支持通配符匹配 |
不支持 |
不支持 |
支持 |
不支持 |
2、test命令详解
test 表达式:评估一个表达式是真还是假。
test命令参数:
-e:判断文件或文件夹是否存在,存在为真(0),不存在为假(非0) -- 用法:test -e 文件名; echo $?
-f:判断文件是否是普通文件类型
-d:是否是目录类型
-z:字符串为空是真,不为空是假。 Z 是Zero的意思
-n:字符串为空是假,不为空是真。 N 是 NonZero的意思。
字符串比较:“str1” = “str2” 相等判断。 “str1” != “str2” 不相等判断。

2045

被折叠的 条评论
为什么被折叠?



