算术运算符
#!/bin/bash
# 使用read命令读取输入数据
read -p "请输入第1个数字:" a
read -p "请输入第2个数字:" b
# 对2个数字进行算数运算
echo "a=${a} b=${b}"
echo "a+b=`expr $a + $b`"
echo "a-b=`expr $a - $b`"
echo "a*b=`expr $a \* $b`"
echo "b/a=`expr $b / $a`"
echo "b%a=`expr $b % $a`"
整数比较运算符
运算符 | 说明 | 举例 |
---|---|---|
-eq |
equals 检测两个数是否相等,相等返回 0, 否则返回1。 |
[ $a -eq $b ] 返回 1。 |
-ne |
not equals检测两个数是否不相等,不相等返回 true。 |
[ $a -ne $b ] 返回 0。 |
-gt |
greater than检测左边的数是否大于右边的, 是返回0, 否则1 |
[ $a -gt $b ] 返回 1。 |
-lt |
lower than检测左边的数是否小于右边的, 是返回0, 否则1 |
[ $a -lt $b ] 返回 0。 |
-ge |
greater equals检测左边的数是否大于等于右边的, 是返回0, 否则1 |
[ $a -ge $b ] 返回 1。 |
-le |
lower equals检测左边的数是否小于等于右边的, 是返回0, 否则1 |
[ $a -le $b ] 返回 0。 |
< |
检测左边的数是否小于右边的, 是返回0, 否则1 |
(($a<$b)) 返回0 |
<= |
检测左边的数是否小于等于右边的, 是返回0, 否则1 |
(($a<=$b)) 返回0 |
> |
检测左边的数是否大于右边的, 是返回0, 否则1 |
(($a>$b)) 返回1 |
>= |
检测左边的数是否大于等于右边的, 是返回0, 否则1 |
(($a>=$b)) 返回1 |
注意: 整数比较运算符只支持整数,不支持小数与字符串,除非字符串的值是整数数字。
每个命令都有返回值, 返回0代表成功, 返回1代表失败
字符串比较运算
[ ]需要加转义符 \ [[ ]]不需要
运算符 | 说明 | 举例 |
---|---|---|
== 或 = | 相等 比较两个字符串或数字,相同则返回 0 可以使用 |
|
!= | 不相等 比较两个字符串或数字,不相同则返回 0 |
|
< | 小于, 比较两个字符串或数字, 小于返回0 |
|
> | 大于, 比较两个字符串或数字, 大于返回0 |
|
-z | 检测字符串长度是否为0, 为0返回 0 true |
[ -z $a ] |
-n | 检测字符串长度是否不为 0, 不为 0 返回 0 true |
[ -n "$a" ] |
$ | 检测字符串是否不为空, 不为空返回 0 |
[ $a ] |
字符串比较没有
<=
可以通过[[ "a" < "b" || "a" = "b" ]]
布尔运算符 必须与 [ ] 使用
! 取反
-a 与运算 全部成立返回0
-o 或运算 一个成立返回0
布尔运算符必须与 [ ] 使用 或 与 test命令一起使用
逻辑运算
! 逻辑非
&& 逻辑与
|| 逻辑或
逻辑运算符 必须在 [[ ]] 或 (( )) 执行 !可以用在 [ ] [[ ]] 中, 不可以在 (( ))
文件检测运算符
文件是否存在 -e
是否可读 -r
是否可执行 -x
是否为空 -s
是否可写 -w
是否是目录 -d文章来源:https://www.toymoban.com/news/detail-436770.html
是否是普通文件 -f文章来源地址https://www.toymoban.com/news/detail-436770.html
到了这里,关于shell脚本 运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!