> 文章列表 > 测牛学堂:2023软件测试linux系统学习之shell脚本的运算符(字符串运算符)

测牛学堂:2023软件测试linux系统学习之shell脚本的运算符(字符串运算符)

测牛学堂:2023软件测试linux系统学习之shell脚本的运算符(字符串运算符)

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