Mari kita ambil yang sederhana for loop
#!/bin/bash
for i in `seq 1 10`;
do
echo $i
done
Titik koma AFAIK dalam skrip bash membuat shell mengeksekusi perintah saat ini secara serempak dan kemudian pergi ke yang berikutnya. Menekan enter benar-benar sama kecuali itu tidak memungkinkan Anda untuk memasukkan perintah berikut, membersihkan buffer segera.
Jadi mengapa shell tidak dapat mengartikan baris berikut
for i in `seq 1 10`; do; echo $i; done
bagaimana cara for loop
kerjanya?
do
.do
. Selain itu, jawaban ini menjelaskan mengapa Anda harus menghapus titik koma setelah `lakukan '.$i
perlu menjadi bagian dari nama file? Apakah perlu kutip ganda?Tanda titik koma setelahnya
do
adalah kesalahan dan seharusnya tidak ada di sana.Berikut ini berfungsi dengan benar:
sumber