shell多重判断

shell多重判断

[root@localhost shell]# vi if03.sh
#!/bin/bash
a=4
if [ $a -lt 1 ] //先判断是否满足,不满足跳到elif,两个都不满足执行else退出
then
echo ok
elif [ $a -gt 1 ]
then
echo ">1"
else
echo oh,no
fi

[root@localhost shell]# bash -x if03.sh

  • a=4
  • (( 4<1 ))
  • (( 4>1 ))
  • echo '>1'

    1

[root@localhost shell]# cat if04.sh
#!/bin/bash
a=5
if [ $a -lt 1 ]
then
echo "<1"
elif [ $a -gt 100 ]
then
echo ">1"
elif [ $a -gt 1 ] && [ $a -lt 10 ] //注意&&还是||必须[]分割开
then
echo "ok"
else
echo "on ok"
fi
[root@localhost shell]# bash -x if04.sh

  • a=5
  • '[' 5 -lt 1 ']'
  • '[' 5 -gt 100 ']'
  • '[' 5 -gt 1 ']'
  • '[' 5 -lt 10 ']'
  • echo ok
    ok
  1. 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格
    -gt 大于
    -lt 小于
    -eq 等于
    -ne 不等于
    -ge 大于等于
    -le 小于等于

  2. 可以使用 && || 结合多个条件
    5.1 if [ $a -gt 5 ] && [ $a -lt 10 ]; then
    [root@localhost shell]# if [ $a -gt 1 ] && [ $a -lt 10 ]; then echo ok; fi
    ok

5.2 if [ $b -gt 5 ] || [ $b -lt 3 ]; then
[root@localhost shell]# if [ $a -gt 7 ] || [ $a -lt 10 ]; then echo ok; fi
ok

其他:
[root@localhost ~]# for i in seq 1 5;do echo $i;done
1
2
3
4
5

转载于:https://blog.51cto.com/lsxme/2058287

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值