条件表达式
表达式 | 示例 |
---|---|
[ expression ] | [ 5 -eq 5 ] |
[[ expression ]] | [[ 5 -eq 5 ]] |
test expression | test 1 -eq 1 |
以下符号用于整数比较测试:
比较符 | 含义 |
---|---|
-eq | 等于 |
-ne | 不等于 |
-gt | 大于 |
-lt | 小于 |
-ge | 大于或等于 |
-le | 小于或等于 |
以下符号用于字符串比较
符号 | 描述 |
---|---|
== | 等于 |
!= | 不等于 |
> | 根据ASCII码表判断大小,大于 |
< | 根据ASCII码表判断大小,小于 |
>= | 大于等于 |
<= | 小于等于 |
-n | 字符串长度不等于0则为真 |
-z | 字符串长度等于0则为真 |
str | 字符串存在则为真 |
注意:
使用-z或者-n判断字符串长度时,变量要加双引号如果使用双中括号就不用双引号了
文件测试:
测试符 | 含义 |
---|---|
-e | 文件或目录存在为真 |
-f | 文件存在为真 |
-d | 目录存在为真 |
-r | 有读权限为真 |
-w | 有写权限为真 |
-x | 有执行权限为真 |
-s | 文件存在并且大小大于0为真 |
为 True |
布尔运算符:
运算符 | 含义 |
---|---|
! | 非关系,将结果取反 |
-a | AND, 且关系,在[ ]表达式中使用 |
-o | OR, 或关系,在[ ]表达式中使用 |
逻辑表达式:
逻辑表达式有:&&(逻辑与)、||(逻辑或)、两者再[[ ]]和(())表达式中使用:[[ 1 -eq 1 && 2 > 1 ]]结果为True
(( 1 == 1 && 2 > 1 ))结果为True
整数运算符:
运算符 | 描述 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
运算表达式:
运算表达式 | 示例 |
---|---|
$(()) | $((5+5)) |
$[] | $[5+5] |
注意:
$(())表达式还可以做三目运算:
echo $((100>99?1:2)) 如果100大于99 就返回1否则返回2
返回值不支持字符串。