在dash外壳下,我看到了
for foo
>in
dash: Syntax error: "in" unexpected (expecting "do")
POSIX shell 语法在
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10_02
有
for_clause :(...)
| For name linebreak in(...)
newline_list : NEWLINE
| newline_list NEWLINE
;
linebreak : newline_list
| /* empty */
所以linebreak不必为空,但可以是换行符。那为什么我会看到这个错误?这是一个dash错误吗?
bash确实接受这个例子,但显然这个例子与任何“bash-ism”无关,它只是基本的 POSIX shell 语法,对dash和bash.