2

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 语法,对dashbash.

4

0 回答 0