shell入门第三课 case语句

虽然if...elif语言可以做多项选择,但是使用case在有大量选择的情况下,更为合理,case语句与C语言的case有些相似,可以根据条件选择对应的语句执行。

1.形式

case语句

case 变量 in
模式11 [ | 模式12 ] ...) 表达式;;
模式21 [ | 模式22 ] ...) 表达式;;
模式31 [ | 模式32 ] ...) 表达式;;
...
esac

每一个模式都用)结尾,每一条语句都要以;;结尾,整个case语句以esac结尾。匹配到相应的模式,只会执行这一个模式,然后跳出。和C语言如果不以break结尾,则会继续执行下面的语句,但是这里的不会,它只会执行当前匹配的这一条。

而且case语句可以有多个匹配模式,其中还能嵌套各种其他条件。

(1).案例1

#! /bin/bash
echo "输入字符串"
read str
case $str in
        yes) echo "输入yes";;
        no) echo "输入no";;
        ha) echo "输入哈";;
        *) echo "输入错误";;
esac
exit 0

输入对应的字符串,则会输出相应的语句

比如输入yes,则输出”输入yes“

(2)案例2

#! /bin/bash
echo "输入字符串"
read str
case $str in
        yes | y | Y | Yes | YES) echo "输入yes";;
        n* | N*) echo "输入no";;
        *) echo "输入错误";;
esac
exit 0

如果我们输入yes或者y或者Y,或者YES则会输出 输入yes

如果我们输入以n或者N开头的字符串,则会输出 输入no

如果都不是,则输出输入错误

(3)案例3

#! /bin/bash

read str
case $str in
        yes | Y | Yes | YES)
        echo "Good Morning"
        echo "Up bright and early this moring"
        ;;
        [nN*])
        echo "Good Afternoon"
        ;;
        *)
                echo "Sorry, answer not recongnized"
                echo "Please answer yes or no"
                exit 1
                ;;
esac
exit 0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值