shell编程之case分支语句

case分支语句和if的多分支语句很相似。

if多分支语句一般用在有(区间范围)的地方 ;例如:0-100之间。

if需要判断多个不同的条件。

case的分支语句用在 如果里面匹配到固定值;或某个变量存在多中取值,需要对其中的每一个取值分别执行不同的命令序列。

case只是判断一个变量的不同取值。

case的模式:

shell编程之case分支语句_第1张图片

执行流程:

首先使用“变量值”与模式1进行比较,如果取值相同就执行模式1的命令序列1,直到遇见“ ;; ”后跳转到esac结束。

如果与模式1不匹配,则继续与下个模式2进行比较,若相同则执行模式2的命令序列2,知道遇见“ ;; ”后跳转到esac结束。若还是找不到任何匹配的值,则执行“ *)”默认模式后的默认命令序列,直到遇见esac结束。

使用case分支语句时,有几个注意的点:

1.case行尾必须为单词‘in’,每一个模式必须以右括号‘ )’结束。

2.双分号 “ ;; ”,表示命令序列的结束。

3.模式字符串中,可以用“ [ ] ”表示一个连续的范围,如:[0-9] ;还可以用竖杠符号" | "(表示或),如:a|b。

4.最后的 ” )“,表示默认模式,其中的“ ”相当于通配符。