シェルスクリプト: for 文とセミコロン
問: 次の POSIX シェルスクリプトにおける構文の誤りを指摘しなさい。
for i; do echo $i; done
答: do
の直前にセミコロンがあること。
正しい構文は以下のようになる。
for i do echo $i; done
ところが、実際のほとんどのシェルではセミコロンを付けてもエラーにならない。規格に厳格な yash でも今のバージョンではこの誤りを見逃している。次のバージョンで直すが、シェルの構文としてはセミコロンがあった方が自然な気がする。
| 固定リンク
コメント