2

シェルの下dashで、なるほど

for foo
>in
dash: Syntax error: "in" unexpected (expecting "do")

の POSIX シェル文法

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 */

solinebreakは空である必要はありませんが、改行にすることができます。では、なぜそのエラーが表示されるのでしょうか? これはdashバグですか?

bashはこの例を受け入れますが、明らかにこの例は「bash-ism」とは何の関係もありません。これは基本的な POSIX シェル構文であり、 と の両方に共通dashですbash

4

0 に答える 0