shell-018 case判断

格式:在case程序中,可以在条件中使用  | ,表示或的意思

case 变量名  in
                value1)                        ---第一个判断
                        command
                            ;;
                value2)                        ---第二个判断
                         command
                            ;;
                *)                                 --除此之外
                          command
                            ;;
                           esac

#!/bin/bash
read -p "Please input a number: " n     ---让用户输入数字,返回值为n
if [ -z "$n" ]                                            ---当为空时
then
   echo "Please input a number."           --提示请输入值
   exit 1                                                   --退出,当用户运行完脚本运行echo $? 的时候会返回1
fi 

n1=`echo $n|sed 's/[0-9]//g'`                  --输出是否为纯数字,如果是数字,则清空,赋值给$n1
if [ -n "$n1" ]                                           --判断$n1是否为空(即$n1不是纯数字)
then
echo "Please input a number."              --为空再次提示输入数字
exit 1                                                      --退出
fi

if [ $n -lt 60 ] && [ $n -ge 0 ]                   ---当数值小于60 且大于等于0  提示tag1
then
   tag=1
elif [ $n -ge 60 ] && [ $n -lt 80 ]              ---当数值大于等于60并且小于80    提示tag2
then
   tag=2
elif [ $n -ge 80 ]  && [ $n -lt 90 ]             ---当数值大于等于80且小于90   提示tag3
then
   tag=3
elif [ $n -ge 90 ] && [ $n -le 100 ]            ---当数值大于等于90且小于100 提示tag4
then
   tag=4
else
   tag=0
fi

case $tag in                                    --当你的tag值为1/2/3/4、的时候执行如下
    1)
echo "not ok"                                  ---tag1提示not ok 
        ;;
    2)
        echo "ok"                                --tag2提示 ok
        ;;
    3)
        echo "ook"                              -tag3提示 ook
        ;;
    4)
        echo "oook"                            ---tag4提示 oook
        ;;
    *)                                                --除此之外的执行tag=0
        echo "The number range is 0-100."                --提示重新输入数值范围为0-100
        ;; 
esac

执行结果100
执行结果101:提示不在此范围
执行过程 sh -x case.sh

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值