
在case
這樣的聲明中:
case $foo in
bar)
echo "the value of foo is bar"
;;
*)
echo "the value of foo is not bar"
;;
esac
為什麼有一個in
之後case $foo
?放棄它的文法不是一樣好或更好嗎?它有什麼作用意思是?
答案1
這是文法所要求的。
從語義上講,它為語句引入了一組一個或多個 glob(表達式)case
,case 變數與每個 glob 進行比較。
$foo
請注意,使用時應該引用它,即
case "$foo" in ... esac