シェルの下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
。