在dash
shell下,我看到了
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
。