一、算术运算符
1.1 加法运算
- 符号:
假设a = 10,b=20
代码语言:javascript复制value=`expr $a $b`
echo "a b : $value"
# 输出为:a b : 30
注意:
- 表达式和运算符之间要有空格,例如 2 2 是不对的,必须写成 2 2,这与我们熟悉的大多数编程语言不一样。
- 完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边
1.2 减法运算
符号:- 假设a = 10,b=20
代码语言:javascript复制value=`expr $b - $a`
echo "b - a : $value"
# 输出为:b - a : 10
1.3 乘法运算
符号:*
假设a = 10,b=20
代码语言:javascript复制value=`expr $a * $b`
echo "a * b : $value"
# 输出为:a b : 200
注意:
- 乘号(*)前边必须加反斜杠()才能实现乘法运算
1.4 除法运算
符号:/ 假设a = 10,b=20
代码语言:javascript复制value=`expr $a / $b`
echo "a * b : $value"
# 输出为:a / b : 0.5
1.5 取余运算
符号:% 假设a = 10,b=20
代码语言:javascript复制value=`expr $a % $b`
echo "a % b : $value"
# 输出为:a / b : 0
1.6 赋值运算
符号:=
代码语言:javascript复制a=10
b=a
echo "b的值 : $b"
# 输出为:b的值:10
1.7 相等判断
符号:==
代码语言:javascript复制a=10
b=10
if [$a == $b]: then
echo "a等于b"
fi
1.8 非等判断
符号:!=
代码语言:javascript复制a=10
b=20
if [$a != $b]: then
echo "a不等于b"
fi
二、关系运算
2.1 运算符解析
- -eq:检测两个数是否相等,相等返回 true
- -ne:检测两个数是否不相等,不相等返回 true
- -gt:检测左边的数是否大于右边的,如果是,则返回 true
- -lt:检测左边的数是否小于右边的,如果是,则返回 true
- -ge:检测左边的数是否大于等于右边的,如果是,则返回 true
- -le:检测左边的数是否小于等于右边的,如果是,则返回 true
2.2 实例展示
代码语言:javascript复制a=10
b=20
if [ $a -eq $b ]
then
echo "$a -eq $b : a 等于 b"
else
echo "$a -eq $b: a 不等于 b"
fi
if [ $a -ne $b ]
then
echo "$a -ne $b: a 不等于 b"
else
echo "$a -ne $b : a 等于 b"
fi
if [ $a -gt $b ]
then
echo "$a -gt $b: a 大于 b"
else
echo "$a -gt $b: a 不大于 b"
fi
if [ $a -lt $b ]
then
echo "$a -lt $b: a 小于 b"
else
echo "$a -lt $b: a 不小于 b"
fi
if [ $a -ge $b ]
then
echo "$a -ge $b: a 大于或等于 b"
else
echo "$a -ge $b: a 小于 b"
fi
if [ $a -le $b ]
then
echo "$a -le $b: a 小于或等于 b"
else
echo "$a -le $b: a 大于 b"
fi
运算结果如下: 10 -eq 20: a 不等于 b 10 -ne 20: a 不等于 b 10 -gt 20: a 不大于 b 10 -lt 20: a 小于 b 10 -ge 20: a 小于 b 10 -le 20: a 小于或等于 b
三、布尔运算符
3.1 运算符解析
- !:非运算,表达式为 true 则返回 false,否则返回 true
- -o:或运算,有一个表达式为 true 则返回 true
- -a:与运算,两个表达式都为 true 才返回 true
3.2 实例展示
代码语言:javascript复制a=10
b=20
if [ $a != $b ]
then
echo "$a != $b : a 不等于 b"
else
echo "$a == $b: a 等于 b"
fi
if [ $a -lt 100 -a $b -gt 15 ]
then
echo "$a 小于 100 且 $b 大于 15 : 返回 true"
else
echo "$a 小于 100 且 $b 大于 15 : 返回 false"
fi
if [ $a -lt 100 -o $b -gt 100 ]
then
echo "$a 小于 100 或 $b 大于 100 : 返回 true"
else
echo "$a 小于 100 或 $b 大于 100 : 返回 false"
fi
if [ $a -lt 5 -o $b -gt 100 ]
then
echo "$a 小于 5 或 $b 大于 100 : 返回 true"
else
echo "$a 小于 5 或 $b 大于 100 : 返回 false"
fi
运算结果输出如下: 10 != 20 : a 不等于 b 10 小于 100 且 20 大于 15 : 返回 true 10 小于 100 或 20 大于 100 : 返回 true 10 小于 5 或 20 大于 100 : 返回 false
四、逻辑运算符
4.1 运算符解析
- &&:逻辑的 AND
- ||:逻辑的 OR
4.2 实例展示
代码语言:javascript复制a=10
b=20
if [[ $a -lt 100 && $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
if [[ $a -lt 100 || $b -gt 100 ]]
then
echo "返回 true"
else
echo "返回 false"
fi
运算结果如下: 返回 false 返回 true
五、字符串运算符
5.1 运算符解析
- =:检测两个字符串是否相等,相等返回 true
- !=:检测两个字符串是否不相等,不相等返回 true
- -z:检测字符串长度是否为0,为0返回 true
- -n:检测字符串长度是否不为 0,不为 0 返回 true
- $:检测字符串是否不为空,不为空返回 true
5.2 实例展示
代码语言:javascript复制a="abc"
b="efg"
if [ $a = $b ]
then
echo "$a = $b : a 等于 b"
else
echo "$a = $b: a 不等于 b"
fi
if [ $a != $b ]
then
echo "$a != $b : a 不等于 b"
else
echo "$a != $b: a 等于 b"
fi
if [ -z $a ]
then
echo "-z $a : 字符串长度为 0"
else
echo "-z $a : 字符串长度不为 0"
fi
if [ -n "$a" ]
then
echo "-n $a : 字符串长度不为 0"
else
echo "-n $a : 字符串长度为 0"
fi
if [ $a ]
then
echo "$a : 字符串不为空"
else
echo "$a : 字符串为空"
fi
输出结果如下所示: abc = efg: a 不等于 b abc != efg : a 不等于 b -z abc : 字符串长度不为 0 -n abc : 字符串长度不为 0 abc : 字符串不为空
结束语
❤️❤️❤️请大家记得订阅我的专栏【Linux系列】哟❤️❤️❤️
linux相关文章索引 | 文章链接 |
---|---|
shell 变量 | shell 变量 |
Linux命令篇(一):文件管理部分 | Linux命令篇(一):文件管理部分 |
Linux命令篇(二):文档编辑部分 | Linux命令篇(二):文档编辑部分 |
Linux命令篇(三):磁盘管理部分 | Linux命令篇(三):磁盘管理部分 |
Linux命令篇(四):系统管理部分 | Linux命令篇(四):系统管理部分 |
Linux命令篇(五):解压缩部分 | Linux命令篇(五):解压缩部分 |
Linux命令篇(六):vi/vim专项 | Linux命令篇(六):vi/vim专项 |
Linux系列:系统目录结构 | Linux系列:系统目录结构 |
Linux系列–shell基础语法 | Linux系列–shell基础语法 |
Linux系列–定时任务设置 | Linux系列–定时任务设置 |
觉得有用的话点个赞