这小节我们来说一下case命令。我们都知道在if语句中做多情况判断时,要这样写。
当某个变量有一些的特定枚举值的时候,需要针对这些枚举值做处理时,可以使用case语句。其实我们在case语句中实现的,在if语句中也能实现。case语句是另外一种实现形式。case语句的语法如下。
首先是一个case,后面跟一个$var,接下来是一个in,in下面是几个枚举值,比如说pattern1执行对应的commands,其中的";;"代表commands执行结束,pattern2执行对应的commands。执行完了之后有个esac,就是把case倒过来写,表示结尾。在这里需要注意,pattern可以是个常量值,比如说是一个字符串或常量值;或者pattern也可以是正则表达式或通配符都是可以的。
现在我们来演示一下。
vim case.sh
#!/bin/bash
#
case $1 in
xiaoqiang)
echo "hello xiaoqiang"
;;
wangcai)
echo "hello wangcai"
;;
*)
echo "hello everyone"
;;
esac
当变量$1是xiaoqiang时,就输出hello xiaoqiang;当变量$1是wangcai时,就输出hello wangcai;我们这里还用通配符"*"做了一个匹配,如果$1是任何值,只要不是上面两种情况(xiaoqiang和wangcai),就输出hello everyone。
好了,case的用法就介绍到这里。如果各位有补充请留言,我验证之后完善文章。谢谢!