Shell的case语句

Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:

代码如下:

case 值 in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

case工作方式如上所示。取值后面必须为单词in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。

取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。

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

代码如下:

echo ‘Input a number between 1 to 4‘
echo ‘Your number is:\c‘
read aNum
case $aNum in
    1)  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

read select
case $select in
1)
echo "do open file operation"

2)
echo "do display a file operation"

3)
echo "do edit a file operation"

4)
echo "do delete a file operation"

*)
echo "There is nothing to do!"
exit 1

esac

时间: 2024-11-06 03:39:10

Shell的case语句的相关文章

(九)shell中case语句、程序传参、while

2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同.shell中的case默认就是匹配上哪个执行哪个,不会说执行完了还去执行后面的其他case(就好像shell中的case语言默认都带了break). 2.2.6.2.调用shell程序的传参(1)C语言中可以通过main函数的argc和argv给程序传参(详情参考<4.

理论+实操:shell之case语句for/while/until循环语句、函数、数组-满满的干货

前言: 单引号表示纯符号 用双引号表字符串 case多分支语句 循环语句 for循环语句 while循环语句 until循环语句 shell函数 shell数组 一 : case语句的结构 1.1 case结构 多分支表现形式:if语句,case语句 case 语句可以使用正则表达式,正则表达式后面会去阐述 针对变量的不同取值,分别执行不同的命令程序 case 中::表示一句话的结束 如果匹配某一个固定值,大多数用caes,其适用于某一个固定值 如果匹配某一个区间范围,大多数用if else 语

Shell 编程 case语句

本篇主要写一些shell脚本条件语句的使用. 条件测试 test 条件表达式 [ 条件表达式 ] 文件测试 -d:测试是否为目录(Directory). -e:测试文件或目录是否存在(Exist). -f:测试是否为文件(File). -r:测试当前用户是否有权限读取(Read). -w:测试当前用户是否有权限写入(Write). -x:测试是否设置有可执行权限(Excute). -nt:判断文件A是否比文件B新. -ot:判断文件A是否比文件B旧. -ef:判断两个文件是否为同一个文件,用来判

Shell编程——case语句与循环语句(3)

case多分支语句 case语句的结构 针对变量的不同取值,分别执行不同的命令序列 实例1 击键类型识别 提示用户输入一个字符 判断出该字符是字母,数字或者其他字符 #!/bin/bash read -p "请输入一个字符:" key case $key in [a-z] | [A-Z]) echo "你输入的是字母" ;; [0-9]) echo "你输入的是数字" ;; *) echo "你输入的是特殊字符" esac 实

shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case语句

笔记内容: 20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断 笔记日期:2017-11-22 20.5 shell脚本中的逻辑判断 在所有的编程语言中都会有if语句来进行逻辑判断,所以在shell中也不例外. Shell的if语句的判断条件和其他编程语言一样写在if关键字的那一行,但是需要使用方括号括起来,并且变量和逻辑运算符以及方括号都要用空格隔开,这一点和其他的编程语言不一样,整个if语句块以fi关键字表示结尾,the

条件判断之if、case语句和文件查找命令

一.脚本编程 1.if语句怎样用 人生面临许多选择,在编程世界里同样也有许多选择.同其他编程语言一样,当我们想写一个功能健壮的脚本时,通过条件判断来选择适合的操作尤为重要.在我们执行某些重要的操作之前,判断当前环境是否适合执行这一操作是非常重要的.我们可以用&&和||来做简单的判断,不过shell有更用的语句.shell有两种常见的条件选择语句if和case.我们先来看一下if该怎样用吧. if语句的单分支语法: if 条件判断 ;then;执行命令:fi [[email protecte

shell中的case语句

shell中case语法如下: case word in pattern1) Statement(s) to be execute if pattern1 matchs ;; pattern2) Statement(s) to be execute if pattern2 matchs ;; pattern3) Statement(s) to be execute if pattern3 matchs ;; *) Default action ;; esac [注]pattern模式不能包含元字

[9-13]Shell系列3——分支结构if与case语句

本文旨在复习shell实现分支结构的3种if语句和case多分支结构语句,以及补充if和case的执行效率 知识储备 Shell脚本中语言结构还是那3种:顺序结构.选择结构.循环结构 分支结构与选择结构是同一概念,依据一定的条件选择执行路径,而不是严格按照语句出现的物理顺序 If语句和Case语句是在shell中实现分支结构的具体表现形式,同C语言中的if和switch语句 下面的语句我以结构流程图.代码实现[代码格式].具体例子来阐述 If单分支结构 流程图 代码实现 12345 if [ e

shell编程之case语句

bash脚本编程: case语句: 多分支if语句: if CONDITION1; then 分支1 elif  CONDITION2; then 分支2 ... else CONDITION; then 分支n fi 示例1:显示一个菜单给用户: cpu) display cpu information mem) display memory information disk) display disks information quit) quit 要求:(1) 提示用户给出自己的选择: (