シェルにおける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を入力しませんでした」になります。