创新互联linux教程:4.3.4case条件测试语句

如果您之前学习过C语言,看到这一小节的标题肯定会会心一笑“这不就是switch语句嘛!”是的,case条件测试语句和switch语句的功能非常相似!case语句是在多个范围内匹配数据,若匹配成功则执行相关命令并结束整个条件测试;而如果数据不在所列出的范围内,则会去执行星号(*)中所定义的默认命令。case语句的语法结构如图4-22所示。

10年积累的网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有大埔免费网站建设让你可以放心的选择与我们合作。

图4-22 case条件测试语句的语法结构

在前文介绍的Guess.sh脚本中有一个致命的弱点—只能接受数字!您可以尝试输入一个字母,会发现脚本立即就崩溃了。原因是字母无法与数字进行大小比较,例如,“a是否大于等于3”这样的命题是完全错误的。我们必须有一定的措施来判断用户的输入内容,当用户输入的内容不是数字时,脚本能予以提示,从而免于崩溃。

通过在脚本中组合使用case条件测试语句和通配符(详见第3章),完全可以满足这里的需求。接下来我们编写脚本Checkkeys.sh,提示用户输入一个字符并将其赋值给变量KEY,然后根据变量KEY的值向用户显示其值是字母、数字还是其他字符。

    [root@linuxprobe ~]# vim Checkkeys.sh
    #!/bin/bash
    read -p "请输入一个字符,并按Enter键确认:" KEY
    case "$KEY" in
    [a-z]|[A-Z])
    echo "您输入的是 字母。"
    ;;
    [0-9])
    echo "您输入的是 数字。"
    ;;
    *)
    echo "您输入的是 空格、功能键或其他控制字符。"
    esac
    [root@linuxprobe ~]# bash Checkkeys.sh
    请输入一个字符,并按Enter键确认:6
    您输入的是 数字。
    [root@linuxprobe ~]# bash Checkkeys.sh
    请输入一个字符,并按Enter键确认:p
    您输入的是 字母。
    [root@linuxprobe ~]# bash Checkkeys.sh
    请输入一个字符,并按Enter键确认:^[[15~
    您输入的是 空格、功能键或其他控制字符。

网页名称:创新互联linux教程:4.3.4case条件测试语句
转载源于:http://www.shufengxianlan.com/qtweb/news35/32785.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联