在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
.