case语句使用举例
shell中的case语句:
可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。
使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 语句组 ;;
模板3 [ | 模板4 ] … ) 语句组 ;;
esac
case语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能。
注意: 1、*) 相当于其他语言中的default。
2、除了*)模式,各个分支中;;是必须的,;;相当于其他语言中的break
3、 | 分割多个模式,相当于or
下面是一些例子:
#!/bin/bash
##filename:what-lang-do-you-like.sh
echo "What is your preferred scripting language?"
read -p "1)bash 2)perl 3)python 4)ruby:" lang
case $lang in1) echo "You selected bash" ;;2) echo "You selected perl" ;;3) echo "You selected python" ;;4) echo "You selected ruby" ;;*) echo "I do not know!" ;;
esac
#!/bin/bash
##filename:which-pi-do-you-like.sh
echo "Which is your preferred PI?"
read -p "Aruino,pcDuino,RaspberryPi,Cubieboard,OrangePi,BananaPi: " pi
case $pi in[Aa]*|[Pp]*) echo "You selected Arduino/pcDuino." ;;[Bb]*|[Cc]*|[Oo]*) echo "You selected Cubieboard/Banana Pi/Orange Pi." ;;[Rr]*) echo "You selected Raspberry Pi." ;;*) echo "I don't know which PI you like." ;;
esac
#!/bin/bash
FRUIT=$1 #注意没有空格
if [ -z "$1" ] #中括号跟 -z 要有空格
then
echo "没有在第一个参数输入水果"
else
case "$FRUIT" in
apple|APPLE) echo "THE FRUIT is apple";;
banana|BANANA) echo "THE FRULT is banana";;
#可以使用*)来表示默认选项,注意最后要用两个分号来结尾
*) echo "输入的是不是我要的水果啊?";;
esac
fi
不知道为什么ubuntu上面有些demo运行效果和CentOS上运行总是有些差别,下次网上仔细找找有没什么相关的说明。
case语句使用举例相关推荐
- select case语句举例_图解Go select语句原理
Go 的select语句是一种仅能用于channl发送和接收消息的专用语句,此语句运行期间是阻塞的:当select中没有case语句的时候,会阻塞当前的groutine.所以,有人也会说select是 ...
- shell之case和循环语句(case语句的格式与举例)(for循环,while循环until循环语句的详解和continue,break解释, 九九乘法口诀表 ,等腰三角形)
文章目录 shell编程之case语句与循环语句(for,while) case多分支语句 case语句的实例 使用for循环语句 for语句实例 用循环语句输出1-10的数字的五种办法 计算偶数/奇 ...
- php中的select case语句吗,VBS教程:VBScript 语句-Select Case 语句
Select Case 语句 根据表达式的值执行几组语句之一. Select Case testexpression [Case expressionlist-n [statements-n]] . ...
- python中case的用法_用 Python 实现简单的 switch/case 语句
在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此 ...
- C语言switch中break的作用,C语言中switch...case语句中break的重要性
在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题.话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf ...
- c语言 case break,C语言中switch...case语句中break的重要性
在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题.话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf ...
- Shell编程之case语句与函数
一.case语句 1.语法结构 2.应用案例 1)脚本传不同值做不同事 2)根据用户需求选择做事 二.函数 1.什么是函数? 2.如何定义函数? 3.函数如何调用? 1)当前命令行调用 2)定义到用户 ...
- shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句
case多分支语句 循环语句 for循环语句 while循环语句 untli循环语句 Shell函数 Shell数组 case语句的结构 针对变量的不同取值,分别执行不同的命令序列 case 变量值 ...
- C语言case次数有限制吗,用switch...case语句统计数字、空格和其他字符出现的次数...
//用switch...case语句统计数字.空格和其他字符出现的次数 //转自K&R #include int main(void) { int c, i, nwhite, nother, ...
最新文章
- Docker(九):Docker实战 安装 Ubuntu
- matlab ia模块,MathWorks发布MATLAB和SimulinkR2020a版本,为工程师和科学家提供更多AI功能...
- 物联网可应用于十大行业嘛?
- CentOS7.0 安装nginx-1.9.10
- C#/java 求最大公约数和最小公倍数
- 前端文档汇总(觉得对您有用的话,别忘了给点个赞哦 ^_^ !)
- tf.matmul()和tf.multipy()的区别
- 如何将HTML与win10桌面壁纸,如何解决win10桌面背景不显示
- (三)碳排放如何计算
- Cesium离线地图极简教程
- 计算机是人类的好伴侣 作文,有电脑真好作文
- 十大排序算法笔记(C语言)(一)选择排序、冒泡排序、插入排序、希尔排序、快速排序
- nginx: worker process is shutting down
- docker 构建推送到阿里云仓库失败
- 0.91寸 SSD1306 OLED介绍(二) --- 命令介绍
- 关于一粒云盘使用心得
- 支付宝支付-常用支付API详解(查询、退款、提现等)(转)
- 如何下载网页上的音乐?不用注册!不用会员!不用播放器!
- 几款Golang IDE对比
- Windows 10 无法访问某文件夹(如C:\Documents and Settings)。拒绝访问。解决方法