case的语法格式如下:
case var in
exp-1) 命令体1 ;;
exp-2) 命令体2 ;;
...
*) 命令体 ;;
shell通过计算变量var的值,将其结果依次和运算式exp-1, exp-2等进行比较,直到找到一个匹配的运算式为止。如果找到了匹配项,则执行它下面的命令直到遇到一对分号(;;)为止。
平时较小用case语句,偶尔用到,所以记录如下:
1> var可以是数字,也可以是字符串,只是在下面的判断运算式exp里区分就行
2> 判断运算式exp可以只是一个数字,或一字符串,也可以是一个运算式如$((a+b)) 其中a,b在上面已赋值,也可以是一个正则表达式
3> *即为当上面的判断运算式都匹配失败时才会执行它的命令体, 该项为可选
4> 一对分号可以跟在命令体最后一语句后,也可以写在命令体结束后的下一空行.作用相同
一段程序如下:
param=$1
a=11
b=12
echo "paramA="$param
case $param in
$((a+b))) echo "NO1"
param="dog" ;;
hello) echo "NO2"
param="cat";;
10) echo "NO3"
param="pig";;
*) echo "ERROR"
esac
echo "paramB="$param
接下来执行这段程序时,我可以分别带参数10 或 23 或 "hello" 看看结果打印的param的不同. 同时可以把
case......esac 这一段代码放在()中, 再分别执行后观察param的打印情况.在执行()中的代码时shell会创建一新的子进程,所以在子进程中的对param的修改并不会影响到父进程中的变量的值.
http://blog.csdn.net/edei2004/article/details/3693979
case的语法格式如下: case var in exp-1) 命令体1 ;; exp-2) 命令体2 ;; ... *) 命令体 ;;shell通过计算变量var的值,将其结果依次和运算式exp-1, exp-2等进行比较,直到找到一个匹配的运算式为止。如
大家好,今天给大家带来的是
Shell
编程
之
case
语句的使用!
其实
case
语句还是很好理解的,在
shell
编程
中,if语句有它的
语法
,函数也有它的
语法
,那么在我们
shell
编程
中的
case
语句也是有它的
语法
的,如下:
case
变量名 in
在以上的代码中我们发现,以
case
开头,以esac结尾,就像我们的if语句,以if开头以fi结束时一样的。
case
找老公条件 in
家里有房子)
嫁给你...
家庭有背景)
case
…in… 语句
和其它
编程
语言类似,
Shell
也支持两种分支结构(选择结构),分别是 if else 语句和
case
in 语句。
当分支较多,并且判断条件比较简单时,使用
case
in 语句就比较方便了
case
in 的用法基本格式如下:
case
expression in
pattern1)
statement1
patt...
case
… in …. esac 的
语法
如下:
case
$变量名称 in <==关键词为
case
,还有变数前有钱字号
"第一个变量内容") <==每个变量内容建议用双引号括起来,关键词则为小括号 )
;; <==每个类别结尾使用两个连续的分号来处理!
"第二个变量内容")
*) <==最后
case
语句是一种在
shell
脚本中用于多条件判断的语句。它可以根据不同的条件执行不同的命令或语句块。
case
语句通常与esac语句配合使用,用于结束
case
语句块。
case
语句的
语法
格式如下:
case
变量 in
其中,变量是需要判断的变量,模式是用于匹配变量的模式,命令是在匹配成功时执行的命令或语句块,*表示默认情况下执行的命令。在
case
语句中,模式可以使用通配符和正则表达式进行匹配,从而实现更加灵活的条件判断。