Shell case esac语句

以下内容源于C语言中文网的学习与整理,如有侵权,请告知删除。

case语句格式

case 值 in
模式1)command1command2command3;;
模式2)command1command2command3;;
*)command1command2command3;;
esac
  • 取值后面是关键字 in。
  • 取值可以为变量或常数。
  • 每一模式必须以右括号结束。
  • 取值符合某一模式后,该模式下的所有命令开始执行直至遇到符号“;;” 。
  • ;;” 与 break 命令类似,意思是跳出整个 case 语句。

实例说明

下面的脚本提示输入1到4,与每一种模式进行匹配。

echo 'Input a number between 1 to 4'
echo 'Your number is:\c'
read aNum
case $aNum in1)  echo 'You select 1';;2)  echo 'You select 2';;3)  echo 'You select 3';;4)  echo 'You select 4';;*)  echo 'You do not select a number between 1 to 4';;
esac

输入不同的内容,会有不同的结果,例如:

Input a number between 1 to 4
Your number is:3
You select 3

再举一个例子:

#!/bin/bashoption="${1}"
case ${option} in-f) FILE="${2}"echo "File name is $FILE";;-d) DIR="${2}"echo "Dir name is $DIR";;*) echo "`basename ${0}`:usage: [-f file] | [-d directory]"exit 1 # Command to come out of the program with status 1;;
esac

运行结果:

$./test.sh
test.sh: usage: [ -f filename ] | [ -d directory ]
$ ./test.sh -f index.htm
$ vi test.sh
$ ./test.sh -f index.htm
File name is index.htm
$ ./test.sh -d unix
Dir name is unix
$

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shell test命令

以下内容源于C语言中文网的学习与整理,如有侵权,请告知删除。 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。这其实相当于一个中括号? 一、数值测试 参数说明-eq等于则为真-ne不等于…

DDOS的攻击原理和防护指南

我们现在来分析DDOS的攻击原理。 首先,DDOS是英文Distributed Denial of Service的缩写,意思是分布式拒绝服务。拒绝服务又是什么意思呢?就是采取一些垃圾数据包来阻塞网站的网络通道,导致让网站不能正常访问。分布式服 务拒绝攻击…

Python基础笔记,后续更新

1,避免‘\n’等特殊字符的两种方式:1,利用转义字符‘\’2,利用原始字符‘r’ print rc:\now3,字符串中嵌入双引号等特殊符号1,利用转义字符‘\’2,使用单引号括起这个字符串 print (i l"o"ve fis.com)2…

.NET:如何让线程支持超时?

背景 本文是为了回复博客园一个兄弟的问题,主要回答两个问题: 如何让线程支持超时?如何让线程在执行结束后销毁?MS 现在不推荐使用低级别的 Thread 编程,而推荐使用 Task,另外我多数情况都是做企业应用&…

第1章 Express MongoDB 搭建多人博客

学习环境 Node.js : 0.10.22 Express : 3.4.4 MongoDB : 2.4.8 快速开始 安装 Express express 是 Node.js 上最流行的 Web 开发框架,正如他的名字一样,使用它我们可以快速的开发一个 Web 应用。我们用 express 来搭…

用UltraISO制作的u盘ubuntu11.04,启动失败解决方案

错误提示:SYSLINUX 3.84 2009-12-18 EBIOS Copyright c 1994-2009 H.Peter Anvin et al 折腾的很久,尝试用Pauly的bootice,结果可以从u盘启动了。 先用UltraISO制作好u盘ubuntu11.04。 下载bootice,把u盘插上去,打开软…

ATT汇编与Intel汇编区别

以下内容源于网络资源的学习与整理,如有侵权请告知删除。 参考博客 Linux 汇编语言开发指南 Intel 格式--AT&T 格式_51CTO博客_at&t和intel汇编语法 前言 X86汇编语言有两种语法风格,即Intel汇编风格和AT&T汇编风格。…

Windows Phone 8初学者开发—第7部分:本地化应用程序

Windows Phone 8初学者开发—第7部分:本地化应用程序 原文 Windows Phone 8初学者开发—第7部分:本地化应用程序 第7部分:本地化应用程序 原文地址: http://channel9.msdn.com/Series/Windows-Phone-8-Development-for-Absolute-Beginners/Pa…

linux shell 上传,下载ftp文件

#####从ftp服务器上的/home/data 到 本地的/home/databackup#####!/bin/bash ftp -n<<! open 192.168.1.171 user guest 123456 binary cd /home/data lcd /home/databackup promptmget *close bye ! 2. ftp自动登录上传文件。 ####本地的/home/databackup to ftp服务器…

ARM官方汇编指令

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 参考内容 &#xff08;1&#xff09;文档《ARM汇编指令集汇总》 &#xff08;2&#xff09;文档《ARM汇编手册》 &#xff08;3&#xff09;文档《ARM Software Development Toolkit User Guide》 内容总结…

C# 使用printDocument1.Print打印时不显示 正在打印对话框(里面还有一个讨厌的取消按钮)...

C#使用printDocument1.Print打印时不显示正在打印对话框有两种方法 第一种&#xff0c;使用PrintController PrintController printController new StandardPrintController(); printDocument1.PrintController printController; printDocument1.Print(); 第二种&am…

audio 标签简介

定义和用法 <audio> 标签定义声音&#xff0c;比如音乐或其他音频流。 实例 一段简单的 HTML 5 音频&#xff1a; <audio src"someaudio.wav"> 您的浏览器不支持 audio 标签。 </audio> 提示和注释 提示&#xff1a;可以在开始标签和结束标签之间放…

合法立即数与非法立即数

ARM指令都是32位&#xff0c;除了指令标记和操作标记&#xff0c;本身只能附带很少位数的立即数。因此立即数有合法和非法之分。 合法立即数&#xff1a;经过任意位数的移位后非零部分可以用8位表示的即为合法立即数。 ldr伪指令可以不用人为去判断合法立即数。

magento 瘦身数据库

2019独角兽企业重金招聘Python工程师标准>>> 2013/4/1更新 有两种方式&#xff0c;一种在后台设置自动清除log数据 System > Configuration > Advanced > System 打开 Log Cleaning 还有一种自然是直接清理数据库 truncate dataflow_batch_export; truncat…

GNU汇编程序中某些符号的含义

&#xff08;1&#xff09; 或者 # 或者 /**/ 用来做注释。可以在行首也可以在代码后面同一行直接跟&#xff0c;和C语言中//类似。 #用来做注释&#xff0c;一般放在行首&#xff0c;表示这一行都是注释而不是代码。 /**/也可以用来做注释。 &#xff08;2&#xff09;冒号&am…

推荐给大家一个下载软件的好网站—MSDN I Tell you

http://msdn.itellyou.cn/转载于:https://www.cnblogs.com/Charlie-Gou/p/3460180.html

大数据时代的移动即时通讯

随着大数据的到来&#xff0c;第三方开放API的服务商越来越多&#xff0c;数据的挖掘和展示也在不断的更新。首先值得广大手机用户骄傲的事情&#xff0c;在移动通讯方面有了长足的发展&#xff0c;比如说你正在工作的时候&#xff0c;接听电话和打开视频的速度都相同的话&…

常见的GNU汇编伪指令

&#xff08;1&#xff09;.global .global _start 给_start外部链接属性 &#xff08;2&#xff09;.section .section .text .section用来指定段的&#xff0c;此句指定当前段为代码段 &#xff08;3&#xff09;.ascii 或.byte或 .short或 .long或 .word …

领域驱动设计和实践(转:http://kb.cnblogs.com/page/112298/)

引言 软件系统面向对象的设计思想可谓历史悠久&#xff0c;20世纪70年代的Smalltalk可以说是面向对象语言的经典&#xff0c;直到今天我们依然将这门语言视为面向对象语言的基础。随着编程语言和技术的发展&#xff0c;各种语言特性层出不穷&#xff0c;面向对象是大部分语言的…

CPU架构的简介

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 注意&#xff0c;这篇文章是很早前发布的&#xff0c;里面的数据与描述与当下可能不符&#xff0c;仅当常识认知用。 CPU发展至今存在着很多种架构&#xff0c;比如x86架构、ARM架构、MIPS架构、PowerPC架构…