shell脚本中的逻辑判断

  • 格式1:if 条件 ; then 语句; fi 命令行写法1:
[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if [ $a -gt 3 ]   //这里的$a表示取a的值,gt是great than表示大于的意思,小于用lt表示,即less than
> then
> echo ok
> fi
ok
[root@lijie-01 ~]#

命令行写法2:

[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if [ $a -gt 3 ]; then echo ok; fi
ok
[root@lijie-01 ~]#

脚本写法3(这种写法是以后常用的):

[root@lijie-01 ~]# cat ifi.sh
#!/bin/bash
a=5
if [ $a -gt 3 ]
then
  echo ok
fi
[root@lijie-01 ~]# sh ifi.sh
ok
  • 格式2:if 条件; then 语句; else 语句; fi
[root@lijie-01 ~]# cat ifi2.sh  
#!/bin/bash
a=1
if [ $a -gt 3 ]
then
  echo ok
else
  echo nook
fi
[root@lijie-01 ~]# sh ifi2.sh
nook
  • 格式3:if …; then … ;elif …; then …; else …; fi
    我们写如下一个脚本
[root@lijie-01 ~]# cat ifi2.sh
#!/bin/bash
a=1
if [ $a -gt 3 ]
then
  echo ok
else
  echo nook
fi
[root@lijie-01 ~]# 

查看执行过程
输入图片说明

  • 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格
    gt 表示大于 great than
    lt 表示小于 less than
    eq 表示等于 equal
    ne 表示不等于no equal
    上面我们使用的是gt lt eq等字符来表示大于、小于,等于;其实我们也可以使用> < = >=来表示,只不过需要用两层括号,如下:
[root@lijie-01 ~]# a=5
[root@lijie-01 ~]# if (($a>1));then echo ok; fi 
ok
[root@lijie-01 ~]# 
  • 可以使用 && || 结合多个条件
  • if [ $a -gt 5 ] && [ $a -lt 10 ]; then
  • if [ $b -gt 5 ] || [ $b -lt 3 ]; then

转载于:https://my.oschina.net/u/3746774/blog/1797585

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值