在 Linux Shell 脚本编程中,case 语句是一种非常实用的条件判断结构,特别适合处理多个固定选项的情况。相比一连串的 if-elif-else,case 语句更简洁、可读性更强。本文将带你从零开始,全面掌握 case 语句的用法,即使是编程小白也能轻松上手!
case 语句用于根据一个变量的值匹配多个预设的模式,并执行对应的操作。它类似于其他编程语言中的 switch 语句。
Shell 中 case 语句的基本结构如下:
case $变量 in 模式1) 命令1 ;; 模式2) 命令2 ;; *) 默认命令 ;;esac $变量:要被匹配的值(通常是用户输入或脚本参数)模式:可以是字符串、通配符(如 *、?、[abc])等;;:表示当前分支结束*:通配所有未匹配的情况,相当于 elseesac:是 case 的倒写,表示整个 case 语句结束下面是一个使用 case 语句实现的简单菜单脚本,帮助你理解其实际应用:
#!/bin/bashecho "请选择操作:"echo "1) 查看系统信息"echo "2) 查看磁盘使用情况"echo "3) 退出"read -p "请输入选项 (1/2/3): " choicecase $choice in 1) echo "正在获取系统信息..." uname -a ;; 2) echo "正在查看磁盘使用情况..." df -h ;; 3) echo "再见!" exit 0 ;; *) echo "无效选项,请输入 1、2 或 3。" ;;esac 将上述代码保存为 menu.sh,然后运行:
chmod +x menu.sh./menu.sh
Shell 的 case 语句支持通配符匹配,这使得它非常灵活。例如:
read -p "请输入文件扩展名: " extcase $ext in txt|log) echo "这是文本日志文件" ;; jpg|png|gif) echo "这是图片文件" ;; mp4|avi|mkv) echo "这是视频文件" ;; *) echo "未知文件类型" ;;esac 注意:多个模式可以用竖线 | 分隔,表示“或”的关系。
-h、--help);; 结尾,否则会继续执行下一个分支(类似 C 语言的 fall-through,但 Shell 默认不会 fall-through,除非故意省略 ;;)[yY] 来同时匹配大小写 Y通过本文的学习,你应该已经掌握了 Linux Shell 中 case 语句的基本用法和实际应用场景。它是 Bash编程 中不可或缺的工具,尤其适合处理多选项逻辑。希望这篇 Shell脚本教程 能帮助你在自动化脚本编写中更高效、更优雅!
如果你觉得有用,不妨动手写几个小脚本练习一下。实践是最好的老师!
本文由主机测评网于2025-12-01发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025121666.html