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

根据流程图可以知道,在所给出的条件中,首先将“变量值”与模式1进行比较,若取值相同
则执行模式1后的命令序列,直到遇见双分号“;;”后跳转至esac,表示分支结束;若与模式1不相匹配,则继续与模式2 进行比较,若取值相同则执行模式2 后的命令序列,直到遇见双分号“;;”后跳转至esac,表示结束分支,……依次类推,若找不到任何匹配的值,则执行默认模式“*)”后的命令序列,直到遇见esac后结束分支
二、case流程控制语法
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
…………
*)
默认命令序列
esac
三、case语句实例
3.1
!/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
#!/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结尾才能结束。
case语法2的更多相关文章
- case语法练习脚本之判断
		
case语法练习脚本之判断 #!/bin/bash read -p "请输入一个字符,并按enter键确认:" key case "$key" in [a-z] ...
 - bash 中的case语法
		
CASE语法格式备忘 case $variable-name in pattern1) command1 ... .... commandN ;; pattern2|pattern3|pattern4 ...
 - Shell case语法结构解析
		
case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 ...
 - Verilog RTL优化策略(一):推荐使用assign语法替代if-else和case语法
		
参考 <手把手教你设计CPU--RISC-V处理器篇> 先给出不用if-else和case的原因 Verilog中的if-else和case语法存在两大缺点: 不能传播不定态X: 会产生优 ...
 - HiSql 实现case语法操作  新一代无实体ORM框架
		
HiSql 实现case语法操作 在SqlServer,Oralce,Hana,PostGreSql,MySql 这些数据都支持SQL case语法,平常在实现业务开发中也会常用到,那么HiSql对于 ...
 - SQL Server高级内容之case语法函数
		
1.Case函数的用法 (1)使用类似:switch-case与if-else if. (2)语法: case [字段] when 表达式 then 显示数据 when 表达式 then 显示数据 ...
 - [lua]尝试一种Case语法糖
		
function CaseT(arg) function proxy(caller) caller.yield(r) end -- proxy return function (cond) if (c ...
 - shell case语法
		
在阅读hadoop相关的脚本文件时,遇到case语句,好久不写shell,忘了不少,复习下shell的case语句: 运行结果: ...
 - delphi中Case语法的使用方法
		
Case 语句If...Then…Else 语句适合选项较少的情况,如果有很多选项的话利用If 语句就比较麻烦,在这种情况下,Case 语句就容易多了.Case 语句的语法如下: case <表 ...
 
随机推荐
- Hdu2040 亲和数
			
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2040 亲和数 Time Limit: 2000/1000 MS (Java/Others) Me ...
 - 《CSS世界》读书笔记(七)
			
<!-- <CSS世界> 张鑫旭著 --> 替换元素 根据是否具有可替换内容,我们可以把元素分为替换元素和非替换元素. <img>.<object>.& ...
 - Template模板
			
目标 模板介绍 模板变量 常用标签 常用过滤器 自定义过滤器 模板结构 加载静态文件 一 模板介绍 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带 ...
 - yaf
			
一.yaf使用自定义的类 Yaf的library和model的文件命名规则和调用:https://www.cnblogs.com/leedom/p/9396138.html 安装参考: https:/ ...
 - servlet登录界面进行用户名和密码验证
			
一.建立LoginServlet项目并建立如下目录 二.在Login.html中编写登录界面代码 三.在css文件中新建login.css文件 四.在src文件中添加LoginServlet.java ...
 - socket实现文件传输
			
server:===========================================import socketimport structimport jsonsk = socket.s ...
 - 【Git】vs code+git 不使用ssh的链接remote server的方式
			
git config --global user.name "dennis wu" git config --global user.email "email" ...
 - FastJson中JSONObject用法及常用方法总结
			
本文为博主原创,未经允许不得转载: 最近一直有用到解析各种数据,主要是用FastJson进行数据解析,其中一个重要的类为JSONObject,今天有时间,所以进行总结一下: JSONobject是Fa ...
 - Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法
			
Qt 程序获取程序所在路径.用户目录路径.临时文件夹等特殊路径的方法 经常我们的程序中需要访问一些特殊的路径,比如程序所在的路径.用户目录路径.临时文件夹等.在 Qt 中实现这几个功能所用的方法虽然都 ...
 - gulp点滴
			
var gulp = require('gulp'), connect = require('gulp-connect'), browserify = require('gulp-browserify ...