回答:
マニュアルページのforループの構文は次のとおりbashです。
for name [ [ in [ word ... ] ] ; ] do list ; done
bashマニュアルページの別の箇所で説明されているように、セミコロンはキャリッジリターンに置き換えられます。「コマンドを区切るために、セミコロンの代わりに1つ以上の改行がリストに表示される場合があります。」
ただし、その逆は当てはまりません。改行をセミコロンで勝手に置き換えることはできません。上記の構文規則を遵守し、do:の後に余分なセミコロンを挿入しない限り、複数行のスクリプトを1行に変換できます。
for i in `seq 1 10`; do echo $i; done
do。さらに、この回答は、「do」の後にセミコロンを削除する必要がある理由を説明しています。
$iファイル名の一部にする必要がある場合はどうなりますか?二重引用符が必要ですか?
do。その後にセミコロンを削除する必要があります。