単一行で記述されたときにシェルループ内に;文字がないのはなぜdoですか?
ここに私が言いたいことがあります。複数行で記述された場合、forループは次のようになります。
$ for i in $(jot 2)
> do
> echo $i
> done
そして、1行で:
$ for i in $(jot 2); do echo $i; done
すべての倒壊ラインが得る;それらの後を除くためのdoライン、そしてあなたが含まれている場合;、それは誤りです。おそらく、これが理由で正しいことであると私が判断したよりもはるかに賢明な誰かが、おそらくその理由がわからない。私には矛盾しているようです。
whileループでも同じです。
$ while something
> do
> anotherthing
> done
$ while something; do anotherthing; done
while/の後にセミコロンはありませんfor。