shell的逻辑运算符
shell 中的逻辑运算符有两个。
&& 表示逻辑且,运算符两边的结果都是true,才会返回true
|| 表示逻辑或,运算符两边的结果有一个为true,则为true
他们的使用场景和布尔运算的很像,只是写代码的形式不一样。
逻辑运算符两边需要用[[]] 来包裹。
代码示例:逻辑运算符 && 的使用
#!/bin/bash
a=1
b=2
if [[ $a -lt 10 && $b -lt 20 ]]
thenecho 'T'
elseecho 'F'
fi
代码示例2:逻辑运算符 || 的使用
#!/bin/bash
a=1
b=2
if [[ $a -lt 10 || $b -gt 20 ]]
thenecho 'T'
elseecho 'F'
fi
最终返回结果是T,因为左边的$a -lt 10
结果为true
shell中字符串运算符
针对字符串,shell中也有一系列的运算符
= 检测两个字符串是否相等
!= 检测两个字符串是否不相等
-z 检测字符串长度是否为0
-n 检测字符串长度是否不为0
直接写字符串变量:检测字符串是否为null(空)。不为空就返回true
代码示例:
#!/bin/bash
a='abc'
b='ccc'
if [ $a = $b ]
thenecho 'T'
elseecho 'F'
fi
代码示例2:判断是否为空
#!/bin/bash
a='ccc'if [ $a ]
thenecho 'T'
elseecho 'F'
fi