在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"。