case流程控制语句

简介:

case流程控制语句在linux中有其独到的一面,使得在编程过程中能够在脚本编写的过程中具备多个选项功能,使其功能多样化,其具备简单,快速的特点。

一、case流程语句结构图

    wKioL1e3W2DSExZTAAhAT0wwSd4024.png-wh_50

    根据流程图可以知道,在所给出的条件中,首先将“变量值”与模式1进行比较,若取值相同

则执行模式1后的命令序列,直到遇见双分号“;;”后跳转至esac,表示分支结束;若与模式1不相匹配,则继续与模式2 进行比较,若取值相同则执行模式2 后的命令序列,直到遇见双分号“;;”后跳转至esac,表示结束分支,……依次类推,若找不到任何匹配的值,则执行默认模式“*)”后的命令序列,直到遇见esac后结束分支

二、case流程控制语法

    case 变量值 in

        模式1)

            命令序列1

            ;;

        模式2)

            命令序列2

            ;;

        …………

        *)

        默认命令序列

    esac

三、case语句实例

    3.1  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
! /bin/bash
echo  "*******************************"
echo  "      1) Copy          "
echo  "       2) Delete         "
echo  "      3) Backup         "
echo  "      4) Quit          "
echo  "*******************************"
read  -p  "请输入您的选择:"  sl
case  $sl  in
         1)
         echo  "您选择的是拷贝"
         ;;
         2)
         echo  "您选择的是删除"
         ;;
         3)
         echo  "您选择的是备份"
         ;;
         4)
         echo  "退出"
         ;;
         *)
         echo  "请输入有效选项"
         ;;
esac


    3.2

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
read  -p  "请输入一个区号:"  num
case  $num  in
     *) echo  -n  "中国" ;;&
     03*) echo  -n  "河南省" ;;&
         ??71) echo  "郑州市" ;;
         ??94) echo  "周口市" ;;
         ??18) echo  "许昌市" ;;
     01*) echo  -n  "北京市" ;;&
         ??91) echo  "昌平区" ;;
         ??92) echo  "顺义区" ;;
         ??97) echo  "东风区" ;;
esac


注:使用的“;&”表示语句经过该条件之后不结束而是紧跟着下个条件继续执行,直至碰到;;或esac等。而使用“;;&”结尾表示在使用case中能够使用“*”和"?",其分别表示任意多个任意字符和一个任意字符,语句不会停止在“;;&”此结尾处,而会依旧向下查询如果条件满足则继续输出,直至碰倒";;"或esac结尾才能结束。

  


本文转自 CARYFLASH 51CTO博客,原文链接:http://blog.51cto.com/maoxiaoxiong/1840658


相关文章
if和switch流程控制语句的基本案例练习
通过以上案例练习巩固 if 和 switch 流程控制语句的使用。
|
7月前
|
C++ 存储
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
C++从零基础到入门(2)—— (if、switch、for、while语句)
|
6月前
|
C语言
C语言循环结构详解:for、while、do while、break与continue
C语言循环结构详解:for、while、do while、break与continue
185 0
|
7月前
|
C语言 C++
C语言9🔥:switch case 语句
C语言9🔥:switch case 语句
150 0
|
7月前
|
C# 图形学
【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)
【Unity 3D】C#控制语句break、continue及算数运算符和逻辑运算符的讲解(附测试代码)
68 1
|
7月前
|
Shell 开发工具
利用case...in…esac条件判断
【1月更文挑战第7天】利用case...in…esac条件判断。
72 0
|
C语言
选择结构程序设计和循环控制(if语句,switch语句,条件运算符,for循环,while及do while语句,break,continue,goto语句)折半查找法及猜数字游戏带你巩固理解
选择结构程序设计和循环控制(if语句,switch语句,条件运算符,for循环,while及do while语句,break,continue,goto语句)折半查找法及猜数字游戏带你巩固理解
80 0
|
Shell
shell编程之条件语句与case语句
shell编程之条件语句与case语句
60 2
|
机器学习/深度学习 Shell
二.条件判断case语句
二.条件判断case语句
88 1
下一篇
DataWorks