Shell中case判断结构的用法笔记
Shell中case判断结构的用法
case判断的用法和if/elif/else结构的用法等价,case判断结构也用于多种可能情况下的分支选择。
语法结构如下:
case var in
var1) command1 ;;
var2) command2 ;;
var3) command3 ;;
...
*) command ;;
esac
原理:从上到下依次比较var和var1、var2、var3的值是否相等,如果匹配相对则执行后面的命令语句,在武艺匹配的情况下匹配最后的默认*,并执行后面的默认命令。
注意:var1、var2等对应的值只能是常量或者是正则表达式。
示例:
cat system.sh
内容如下:
#!/bin/sh
SYSTEM=`uname -s`
case $SYSTEM in
Linux)
echo "My system is Linux"
echo "Do Linux stuff here..."
;;
FreeBSD)
echo "My system is FreeBSD"
echo "Do FreeBSD stuff here..."
;;
*)
echo "Unknown system : $SYSTEM"
echo "I don't what to do..."
;;
esac
执行命令:
bash system.sh
输出:
My system is Linux
Do Linux stuff here...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)