
次のような声明文がありますcase
。
case $foo in
bar)
echo "the value of foo is bar"
;;
*)
echo "the value of foo is not bar"
;;
esac
in
なぜafter があるのかcase $foo
?それを省いた構文は、同じかそれ以上に良いのではないだろうか?平均?
答え1
構文上必須です。
意味的には、ステートメントに対して 1 つ以上の glob (式) のセットが導入されcase
、それぞれの glob に対して case 変数が比較されます。
$foo
使用する際には引用符で囲む必要があることに注意してください。
case "$foo" in ... esac