Sintaks gelung sementara:
sementara [keadaan]buat
arahan
selesai
Blok permulaan dan akhir dari sementara gelung ditakrifkan oleh buat dan selesai kata kunci dalam skrip bash. Keadaan penamatan ditentukan pada permulaan gelung. Buka editor teks untuk menulis skrip bash dan menguji contoh-contoh berikut semasa gelung.
Contoh-1: Ulangi gelung untuk bilangan kali yang tetap
Buat fail bash bernama sementara1.sh yang mengandungi skrip berikut.
n=1
sementara [ $ n -tempat 5 ]
buat
membuang 'Berlari$ nmasa'
((n ++))
selesai
Dalam contoh ini, gelung akan berulang selama 5 kali dan mencetak teks yang ditentukan di dalam gelung. Output berikut akan muncul jika anda menjalankan sementara1.sh .
Contoh-2: Menggunakan pernyataan putus untuk keluar bersyarat
rehat pernyataan digunakan untuk keluar dari gelung lebih awal berdasarkan keadaan tertentu. Buat fail bash baru bernama sementara2.sh dengan kod berikut.
n=1sementara [ $ n -tempat 10 ]
buat
sekiranya [ $ n==6 ]
kemudian
membuang 'ditamatkan'
rehat
menjadi
membuang Kedudukan:$ n'
((n ++))
selesai
Dalam contoh ini, gelung dinyatakan berulang selama 10 kali. Menurut skrip, ia akan berakhir setelah 6 kali lelaran untuk pernyataan rehat. Output berikut akan muncul setelah melaksanakan skrip.
Contoh-3: Menggunakan pernyataan terus untuk menghilangkan langkah tertentu
Buat fail bash baru bernama sementara3.sh dengan kod berikut.
n=0sementara [ $ n -tempat 5 ]
buat
((n ++))
sekiranya [ $ n==3 ]
kemudian
teruskan
menjadi
membuang Kedudukan:$ n'
selesai
Dalam contoh ini, gelung akan berulang selama 5 kali tetapi tidak akan mencetak semua 5 kedudukan. Bila gelung akan berulang selama 3rdkali kemudian pernyataan terus akan dijalankan dan gelung akan pergi untuk lelaran seterusnya tanpa mencetak teks 3rdkedudukan. Output berikut akan muncul setelah melaksanakan skrip.
Contoh-4: Membuat gelung tak terhingga
Kadang-kadang, diperlukan untuk menyatakan gelung tak terbatas untuk pelbagai tujuan pengaturcaraan. Buat fail bash baru bernama sementara4.sh dan menguji kod gelung tak terhingga.
n=1sementara:
buat
printf 'Nilai semasa n =$ n n'
sekiranya [ $ n==3 ]
kemudian
membuang 'baik'
elif [ $ n==5 ]
kemudian
membuang 'buruk'
elif [ $ n==7 ]
kemudian
membuang 'hodoh'
elif [ $ n==10 ]
kemudian
jalan keluar 0
menjadi
((n ++))
selesai
Tidak ada syarat penamatan yang ditetapkan untuk gelung dalam contoh ini. Gelung jenis ini dipanggil gelung tak terhingga. Di sini, pernyataan keluar digunakan untuk berhenti dari gelung tak terhingga. Jadi, gelung ini akan berulang selama 10 kali dan apabila nilai lelaran menjadi sama dengan 10 maka pernyataan keluar akan dilaksanakan untuk keluar dari gelung tak terhingga.