|NO.Z.00023|——————————|LinuxShell|——|Linux&Shell&流程控制.V04|——|多分支case条件语句|
一、多分支case条件语句
### --- case 语句和 if…elif…else 语句一样都是多分支条件语句,
~~~ 不过和 if 多分支条件语句不同的是,case 语句只能判断一种条件关系,
~~~ 而 if 语句可以判断多种条件关系。case 语句语法如下:
case $变量名 in
"值 1")
如果变量的值等于值 1,则执行程序 1
;;
"值 2")
如果变量的值等于值 2,则执行程序 2
::
…省略其他分支…
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac
### --- 这个语句需要注意以下内容:
~~~ case 语句,会取出变量中的值,然后与语句体中的值逐一比较。
~~~ 如果数值符合,则执行对应的程序,如果数值不符,则依次比较下一个值。
~~~ 如果所有的值都不符合,则执行“*)”(“*”代表所有其他值)中的程序。
~~~ case 语句以“case”开头,以“esac”结尾。
~~~ 每一个分支程序之后要通过“;;”双分号结尾,
~~~ 代表该程序段结束(千万不要忘记,超哥每次写 case语句,都会忘记双分号,有点“囧”)。
二、实例一:
### --- 我们写一个判断是“yes/no”的例子:
[root@localhost ~]# vi sh/case.sh
#!/bin/bash
#判断用户输入
# Author: shenchao (E-mail: shenchao@atguigu.com)
read -p "Please choose yes/no: " -t 30 cho
#在屏幕上输出“请选择 yes/no”,然后把用户选择赋予变量 cho
case $cho in
#判断变量 cho 的值
"yes")
#如果是 yes
echo "Your choose is yes!"
#执行程序 1
;;
"no")
#如果是 no
echo "Your choose is no!"
#执行程序 2
;;
*)
#如果既不是 yes,也不是 no
echo "Your choose is error!"
#则执行此程序
;;
esac
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv008-shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通