此刻我正在学习shell编程,并对case命令中可选的右括号的语法感到好奇。
在POSIX.1-2017的Shell and Utilities卷中:
case word in
[(] pattern1 ) compound-list ;;
[[(] pattern[ | pattern] ... ) compound-list ;;] ...
[[(] pattern[ | pattern] ... ) compound-list]
esac
在我见过的所有脚本中(也许几乎是)匹配字符串之前没有括号,如下所示
case $1 in
--help) echo "Help info";;
--version) echo "version info";;
*) ;;
esac
如果键入对应于圆括号的圆括号以使圆括号匹配(如以下所示)怎么办?
case $1 in
(--help) echo "Help info";;
(--version) echo "version info";;
(*) ;;
esac