shell中case的用法是什么

小億
103
2023-12-08 09:43:33
欄目: 編程語言

在shell中,case語句用于根據(jù)模式匹配來執(zhí)行不同的命令塊。它類似于其他編程語言中的switch語句。

case語句的語法如下:

case 變量 in
  模式1)
    命令1
    ;;
  模式2)
    命令2
    ;;
  ...
  *)
    默認(rèn)命令
    ;;
esac

case語句的執(zhí)行流程是,首先將變量與每個(gè)模式進(jìn)行匹配,一旦找到匹配的模式,就執(zhí)行對(duì)應(yīng)的命令塊,并且用;;表示命令塊的結(jié)束。如果沒有找到匹配的模式,就執(zhí)行默認(rèn)命令塊(使用通配符*表示)。

下面是一個(gè)示例,展示了case語句的使用:

echo "請(qǐng)輸入一個(gè)數(shù)字:"
read num

case $num in
  1)
    echo "您輸入的是1"
    ;;
  2)
    echo "您輸入的是2"
    ;;
  3|4)
    echo "您輸入的是3或4"
    ;;
  *)
    echo "您輸入的不是1、2、3或4"
    ;;
esac

在上述示例中,根據(jù)用戶輸入的數(shù)字,case語句會(huì)匹配相應(yīng)的模式,并執(zhí)行對(duì)應(yīng)的命令塊。如果用戶輸入的數(shù)字是1,輸出為"您輸入的是1";如果用戶輸入的數(shù)字是5,輸出為"您輸入的不是1、2、3或4"。

0