为什么不用短划线语法接受带有非空换行语法符号的循环 - 这是一个破折号错误吗?

时间:2016-08-30 01:04:26

标签: shell dash-shell

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

0 个答案:

没有答案