扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
case语句相当于多分支的if/elif/else语句,而在使用case会让脚本看起来更简单工整。在case语句中,程序会将获取到的值与case表达式中的条件逐一进行对比,如果匹配则执行对应的语句,遇到双分号(;;)则停止执行。如果一直未找到匹配项,则执行*)后面的语句,相当其他语言中的default功能。
创新互联建站坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10余年网站建设经验创新互联建站是成都老牌网站营销服务商,为您提供做网站、成都网站设计、网站设计、HTML5、网站制作、品牌网站建设、成都小程序开发服务,给众多知名企业提供过好品质的建站服务。基本语法
case "var" in
value 1)
语句
;;
value 2)
语句
;;
value n)
语句
;;
*)
语句
esac
最后一个分支语句,即esac前,可以省略双分号
case示例
[root@localhost Test]# cat case.sh
#!/bin/bash
a=$1
case "${a}" in
1)
echo "input number is 1"
;;
2)
echo "input number is 2"
;;
3)
echo "input number is 3"
;;
*)
echo "case default value"
esac
[root@localhost Test]# bash case.sh 1
input number is 1 # 匹配条件1
[root@localhost Test]# bash case.sh 3
input number is 3 # 匹配条件3
[root@localhost Test]# bash case.sh a
case default value # 未匹配到条件
使用if语句同样可以达到同样的效果
[root@localhost Test]# cat caseif.sh
#!/bin/bash
a=$1
if [ ${a} -eq 1 ]
then
echo "input number is 1"
elif [ ${a} -eq 2 ]
then
echo "input number is 2"
elif [ ${a} -eq 3 ]
then
echo "input number is 3"
else
echo "case default value"
fi
[root@localhost Test]# bash caseif.sh 1
input number is 1
[root@localhost Test]# bash caseif.sh 3
input number is 3
[root@localhost Test]# bash caseif.sh a
caseif.sh: 第 3 行:[: a: 期待整数表达式
caseif.sh: 第 6 行:[: a: 期待整数表达式
caseif.sh: 第 9 行:[: a: 期待整数表达式
case default value
case语句总结
1、case语句比较适合变量值较少且为固定的数字或字符串集合的情况。
2、case一般常用于编写服务的启动脚本等
3、if则是取值进行判断比较,应用面比case要广,大部分的case语句可以使用if进行替代
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流