Linux shell编程之分支判断进阶

一、复合条件判断
使用"&&"和"||"可以实现多个条件的合并检查:
[ condition1 ] && [condition2]  condition1 condition2必须两个判断都成立时,整个条件才会为真

[ condition1 ] || [condition2]  condition1 condition2只要有一个判断成立时,整个条件就为真

$ cat test.sh
#!/bin/bash

if [ 1 -le 2  ] && [ -d /root ] 
then 
  echo "两个条件都成立"
else
  echo "两个条件不同时成立"
fi
$ ./test.sh
两个条件都成立

二、双圆括号比较数学表达式

双圆括号命令允许在比较中包含高级数学公式,是对test命令算术操作的增强。格式为:
(( expression ))
expression为数学表达式,expression中可以使用的操作符如下:


$ cat test.sh 
#!/bin/bash

a=10
if (($a**2 > 90))
then
   echo "a的平方大于90"
   ((b=$a*2))
fi
echo "b的值为:$b"
$ ./test.sh 
a的平方大于90
b的值为:20
注意: 在(( ))中不用转义">"号,这是双圆括号提供的一个高级特性。
三、使用双方括号表示字符串模式匹配
[[ expression ]]
"[[ ]]"包围的expression与test命令中使用的标准字符串比较,但是它提供了test命令没有的模式匹配功能。

$ cat test.sh
#!/bin/bash
apple="apple"
app="app"
if [[ $apple==app* ]]
then
   echo "$apple match app*"
fi
if [[ $app==app* ]]
then
   echo "$app match app*"
fi
$ ./test.sh
apple match app*
app match app*

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值