シェルにおけるcase文の構文と使い方は何ですか?

シェルにおけるケース分岐構文は、パターンマッチングにより異なるコマンドブロックを実行する。これは他のプログラミング言語のswitch文に似ている。

case文の構文は次の通りです。

case 变量 in
  模式1)
    命令1
    ;;
  模式2)
    命令2
    ;;
  ...
  *)
    默认命令
    ;;
esac

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を入力しませんでした」になります。

bannerAds