千家信息网

shell case语句

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,case语句相当于多分支的if/elif/else语句,而在使用case会让脚本看起来更简单工整。在case语句中,程序会将获取到的值与case表达式中的条件逐一进行对比,如果匹配则执行对应的语句,遇
千家信息网最后更新 2024年11月24日shell case语句

case语句相当于多分支的if/elif/else语句,而在使用case会让脚本看起来更简单工整。在case语句中,程序会将获取到的值与case表达式中的条件逐一进行对比,如果匹配则执行对应的语句,遇到双分号(;;)则停止执行。如果一直未找到匹配项,则执行*)后面的语句,相当其他语言中的default功能。


基本语法

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进行替代


语句 条件 表达式 整数 分号 分支 脚本 工整 功能 大部分 字符 字符串 应用面 情况 效果 数字 示例 程序 语法 语言 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 松江区口碑好的软件开发贵吗 网络安全演讲心得体会怎么写 武汉微思墩网络技术有限公司 服务器典型故障排除 it 软件开发平台 天津服务器回收公司有哪些云空间 数据库删除数据命令 有哪些软件开发方向 死亡网络安全工程师 网络安全测评工资 海运公司网络安全吗 网络技术的发展对学生 pcl进服务器皮肤不显示 做服务器管理的工作很赚钱吗 中国网络安全高科技企业简介 斗罗大陆服务器错误是什么原因 数据库实现图书管理系统可视化 管家婆数据库怎么登录 青浦区项目软件开发服务保障 塔式服务器做raid 云上数据库cpu使用率高 连接池数据库最大连接数 连接数据库JSPZ增删 山东华拓互联网科技有限公司 游戏好友怎么不在一个服务器里 中国生物医学数据库的网址是 华为服务器建设需要多少钱 麻省理工数据库 龙岩财务软件开发排行榜 管家婆登陆服务器出现错误
0