在shell中,case
语句用于根据模式匹配来执行不同的命令块。它类似于其他编程语言中的switch
语句。
case
语句的语法如下:
case 变量 in
模式1)
命令1
;;
模式2)
命令2
;;
...
*)
默认命令
;;
esac
case
语句的执行流程是,首先将变量与每个模式进行匹配,一旦找到匹配的模式,就执行对应的命令块,并且用;;
表示命令块的结束。如果没有找到匹配的模式,就执行默认命令块(使用通配符*
表示)。
下面是一个示例,展示了case
语句的使用:
echo "请输入一个数字:"
read num
case $num in
1)
echo "您输入的是1"
;;
2)
echo "您输入的是2"
;;
3|4)
echo "您输入的是3或4"
;;
*)
echo "您输入的不是1、2、3或4"
;;
esac
在上述示例中,根据用户输入的数字,case
语句会匹配相应的模式,并执行对应的命令块。如果用户输入的数字是1,输出为"您输入的是1";如果用户输入的数字是5,输出为"您输入的不是1、2、3或4"。