Jawaban:
Itu adalah fitur dari forperintah majemuk, seperti yang dijelaskan oleh help for:
for: for NAME [in WORDS ... ] ; do COMMANDS; doneJalankan perintah untuk setiap anggota dalam daftar.
The
forLoop mengeksekusi urutan perintah untuk setiap anggota dalam daftar item. Jikain WORDS ...;tidak ada, makain "$@"diasumsikan. Untuk setiap elemen diWORDS,NAMEdiatur ke elemen itu, danCOMMANDSdieksekusi.
Jadi kode yang Anda kutip mungkin dieksekusi dalam skrip yang dipanggil dengan 4 parameter.
for x; do …adalah jalan pintas untuk for x in "$@"; do …: iterates di atas parameter posisi. Jika loop empat kali, itu berarti Anda memiliki empat parameter posisi ( $1melalui $4).
set a b c dbeberapa waktu baru-baru ini. Saya sering menggunakansetcara itu dalam skrip untuk menguji .. Setelah memulai ulang terminal, itu telah berhenti ... (masuk akal sekarang) ..