shell——case命令

shell——case命令case 语句 case 语句允许进行多重条件选择

欢迎大家来到IT世界,在知识的湖畔探索吧!

case语句

  case语句允许进行多重条件选择。其一般语法形式是:

case 字符串 in

模式字符串1) 命令

        …

        命令;;

模式字符串2) 命令

        …

        命令;;

     …

模式字符串n) 命令

        …

        命令;;

esac

  在使用case语句时应注意:

  (1)每个模式字符串后面可有一条或多条命令,其最后一条命令必须以两个分号(即;;)结束。

  (2)模式字符串中可以使用通配符。

  (3) 如果一个模式字符串中包含多个模式,那么各模式之间应以竖线(|)隔开,表示各模式是“或”的关系,即只要给定字符串与其中一个模式相配,就会执行其后的命令表。

  (4)各模式字符串应是惟一的,不应重复出现。并且要合理安排它们的出现顺序。例如,不应将“*”作为头一个模式字符串,因为“*”可以与任何字符串匹配,它若第一个出现,就不会再检查其它模式了。

  (5)case语句以关键字case开头,以关键字esac(是case倒过来写!)结束。

  (6)case的退出(返回)值是整个结构中最后执行的那个命令的退出值。若没有执行任何命令,则退出值为零。

Case –举例1–1.sh———————————————————-

#!/bin/sh echo "enter choice: \c " read choice case "$choice" in 1) echo "11111";; 2|22) echo "22222";; yes|y|Yes|YES)echo "yes|y|Yes|YES";; [Nn]*) echo "[Nn]*";; *) echo "sorry" exit 1;; esac exit 0

欢迎大家来到IT世界,在知识的湖畔探索吧!

结果

欢迎大家来到IT世界,在知识的湖畔探索吧![hadoop@localhost dzztest]$ ./a1.sh enter choice: \c 1 11111 [hadoop@localhost d3]$ sh a.sh enter choice: \c 22 22222 [hadoop@localhost d3]$ sh a.sh enter choice: \c 2 22222 [hadoop@localhost dzztest]$ ./a1.sh enter choice: \c * sorry [hadoop@localhost d3]$ sh a.sh enter choice: \c yes yes|y|Yes|YES [hadoop@localhost d3]$ sh a.sh enter choice: \c y yes|y|Yes|YES [hadoop@localhost d3]$ sh a.sh enter choice: \c n [Nn]* [hadoop@localhost d3]$ sh a.sh enter choice: \c N [Nn]* [hadoop@localhost d3]$ sh a.sh enter choice: \c n45 [Nn]*

—Case 举例2–b.sh

#!/bin/sh user="who am i ?" /*给变量user赋值*/ echo $user read user /*读入输入的user的值,且取值后面的”in” 必须存在*/ case $user in /*$ueser为值*/ root)echo "you can do everything"/*root为输入的模式一*/ ;; /*所有命令开始执行直至;;*/ abc)echo "you just do something" ;; *)echo "sorry,i dont know you"/*其中如果无任何匹配的,用“*”号表示捕获*/ ;; esac

结果

欢迎大家来到IT世界,在知识的湖畔探索吧![hadoop@localhost d3]$ sh b.sh who am i ? root you can do everything [hadoop@localhost d3]$ sh b.sh who am i ? io sorry,i dont know you [hadoop@localhost d3]$ sh b.sh who am i ? abc you just do something

2022-9-14

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/102640.html

(0)
上一篇 15分钟前
下一篇 2025年 2月 18日 上午9:23

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信