Ste*_*eld 3 bash documentation
http://ss64.com/bash/case.html显示
case word in [ [(] pattern [| pattern]...) command-list ;;]... esac
Run Code Online (Sandbox Code Playgroud)
方括号表示什么?其他网站忽略它们(即没有[[(]等)
http://www.thegeekstuff.com/2010/07/bash-case-statement/ 显示:没有使用[[(]等。
case expression in
pattern1 )
statements ;;
pattern2 )
statements ;;
...
esac
Run Code Online (Sandbox Code Playgroud)
感谢下面的详细回复。我非常感谢您的澄清。
阅读权威来源:GNU bash 手册
https://www.gnu.org/software/bash/manual/bashref.html#Conditional-Constructs
方括号表示可选内容。
唯一的强制性部分是:case word in esac-- 这是一个有效的 bash,它恰好什么也不做。
方括号是文档中的常见约定,用于指示括号内的内容是可选的。它们是文档使用的元语法的一部分。
\n\n该...表示法也是元语法;表示前面的元素可以重复。
其他常见的元语法包括用于分组和|表示 \xe2\x80\x9cor\xe2\x80\x9d 的括号。在这里,括号和竖线都是语法的一部分,而方括号都是元语法的一部分。
好的手册以与语法不同的字体排版元语法。您正在阅读的网页和它抄袭的bash 手册在命令描述中都没有这样做case。wordbash 手册将,pattern和 等字样排版command-list为斜体;这也是元语法,表明这些单词是对该位置的内容的描述,而不是像case,in和那样按字面输入的单词esac。
\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0case 字 in[ [ (]模式[| 模式]...) 命令列表 ;;]...esac