shell脚本编程之case语句学习笔记

(编辑:jimmy 日期: 2024/12/26 浏览:2)

case语句是用来实现多个if..else的功能的,但是用法上有些不同,学过其他语言的人都知道,case中要对变量进行匹配,如果有一个匹配成功的话就执行相应的语句。shell编程中的case语句也是这个意思,case会对字符串进行匹配,是从第一个模式开始的,如果有一个模式已经匹配成功的话,其他的模式就不会再进行匹配了,下面看下代码中的用法吧。

#!/bin/sh
echo "please yes or no"
read input

#case语句的基本用法,记住每一个匹配后边都有双分号,代表本模式的结束和下一个#模式的开始,在进行通配符匹配的时候不要加双引号
case "$input" in
yes ) echo "yes";;
y* ) echo "y*";;
y ) echo "y";;
no ) echo "no";;
n ) echo "n";;
* ) echo "default";;
esac

#合并匹配模式,case的匹配只能匹配一条,想要做到匹配多个结果使用如下的方式
case "$input" in
y* | Y* ) echo "yes";;
n* | N* ) echo "no";;
* ) echo "default";;
esac

#一种更屌的匹配
case "$input" in
[yY][eE][sS] | [yY] ) echo "yes";;
[nN] | [nN][oO] ) echo "no";;
* ) echo "default"
echo "end"
esac

exit 0

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。