是否在case命令中不键入'(',即右括号?

时间:2019-05-27 09:44:16

标签: shell

此刻我正在学习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

0 个答案:

没有答案