shell脚本 运算符

算术运算符

#!/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`"

整数比较运算符

运算符说明举例
-eqequals 检测两个数是否相等,相等返回 0, 否则返回1。[ $a -eq $b ] 返回 1。
-nenot equals检测两个数是否不相等,不相等返回 true。[ $a -ne $b ] 返回 0。
-gtgreater than检测左边的数是否大于右边的, 是返回0, 否则1[ $a -gt $b ] 返回 1。
-ltlower than检测左边的数是否小于右边的, 是返回0, 否则1[ $a -lt $b ] 返回 0。
-gegreater equals检测左边的数是否大于等于右边的, 是返回0, 否则1[ $a -ge $b ]返回 1。
-lelower 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

可以使用 =

[ $a == $b ]

[ $a = $b ]

[[ $a == $b ]]

[[ $a = $b ]]

!=

不相等

比较两个字符串或数字,不相同则返回 0

[ $a != $b ]

[[ $a != $b ]]

<

小于,

比较两个字符串或数字, 小于返回0

[ $a \< $b ]

[[ $a < $b ]] 

>

大于,

比较两个字符串或数字, 大于返回0

[ $a \> $b ]

[[ $a > $b ]] 

-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

是否是普通文件 -f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值