Linux的shell编程(四)-条件控制

Linux的shell编程(四)-条件控制

a、if条件控制

写成一行就得这么写:

if [ ] ; then echo "" ;fi

单一的if:(表达式必须有空格)

if []
then
cmd1
fi

单一的if else :(表达式必须有空格,else后不能有then)

if []
then
cmd1
else
cmd2
fi

if else-if else :(elif后必须有then)

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

案例:

a=10
b=20
if [ $a == $b ]
then
echo 'a == b'
elif [ $a -gt $b ]
then
echo 'a > b'
elif [ $a -lt $b ]
then
echo 'a < b'
else
echo '没有符合条件'
fi

b、循环条件:for 、 while 、 until

1、for
for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done
  • 案例1:
for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done
  • 案例2:(循环创建文件)
for i in `seq 1 3 ` ; do touch $i.log ; done
2、while循环:
while condition
do
    command
done
  • 案例:(注意表达式一定要用双括号)
i=1
while (( $i < 5))
do
echo $i
#i=`expr $i + 1 `
#如下是let命令
let "i++"
done
3、case匹配:
(必须有in,一个模式结束必须用双;;号,esac整个case(case的反转)结束标识)
casein
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

同时也支持continue(跳出当前)和break(跳出所有循环)跳出循环。

  • 案例:
while :
do
    echo -n "输入 1 到 5 之间的数字: "
    read aNum
    case $aNum in
        1|2|3|4|5) echo "你输入的数字为 $aNum!"
        ;;
        *) echo "你输入的数字不是 1 到 5 之间的!"
            #continue
			break
            echo "游戏结束"
        ;;
    esac
done
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值