Cara Menggunakan Bash untuk Loop di Linux
- 1046
- 153
- Dana Hammes
Dalam bahasa pengaturcaraan, Gelung adalah komponen penting dan digunakan apabila anda ingin mengulangi kod berulang kali sehingga keadaan yang ditentukan dipenuhi.
Dalam Bash skrip, gelung Mainkan peranan yang sama dan digunakan untuk mengautomasikan tugas berulang seperti dalam bahasa pengaturcaraan.
Dalam Bash skrip, terdapat 3 jenis gelung: untuk gelung, Semasa gelung, dan sehingga gelung. Ketiga digunakan untuk melangkah ke atas senarai nilai dan melaksanakan satu set arahan yang diberikan.
Dalam panduan ini, kita akan memberi tumpuan kepada Bash untuk gelung di Linux.
Bash untuk sintaks gelung
Seperti yang dinyatakan sebelum ini, untuk gelung melewati pelbagai nilai dan melaksanakan satu set arahan.
Untuk gelung Mengambil sintaks berikut:
untuk variable_name dalam nilai1 nilai2 value3 ... n do command1 command2 commandn selesai
Marilah kita periksa beberapa contoh penggunaan bash untuk gelung.
Bash mudah untuk gelung
Dalam bentuk yang paling mudah, Untuk gelung Mengambil format asas berikut. Dalam contoh ini, pemboleh ubah n
melewati sekumpulan nilai berangka yang tertutup dalam pendakap keriting dan mencetak nilai mereka untuk stdout.
untuk n dalam 1 2 3 4 5 6 7; lakukan echo $ n selesaiBash untuk contoh gelung
Bash untuk gelung dengan julat
Dalam contoh -contoh sebelumnya, kami secara jelas menyenaraikan nilai -nilai yang akan diulang oleh untuk gelung, yang berfungsi dengan baik. Walau bagaimanapun, anda hanya boleh membayangkan betapa rumit dan memakan masa tugasnya jika anda akan berulang, sebagai contoh, seratus nilai. Ini akan memaksa anda untuk menaip semua nilai dari 1 hingga 100.
Untuk menangani isu ini, tentukan julat. Untuk berbuat demikian, tentukan nombor untuk memulakan dan berhenti dipisahkan oleh dua tempoh.
Dalam contoh ini, 1 adalah nilai pertama sementara 7 adalah nilai terakhir dalam julat.
#!/bin/bash untuk n dalam 1 ... 7; lakukan echo $ n selesai
Setelah skrip shell dilaksanakan, semua nilai dalam julat disenaraikan, sama seperti apa yang kita ada gelung mudah.
Bash untuk gelung dengan contoh julatDi samping itu, kita boleh memasukkan nilai pada akhir julat yang akan menyebabkan untuk gelung untuk meleleh melalui nilai -nilai dalam langkah tambahan.
Skrip bash berikut mencetak nilai antara 1 dan 7 dengan 2 langkah tambahan antara nilai bermula dari nilai pertama.
#!/bin/bash untuk n dalam 1 ... 7 ... 2; lakukan echo $ n selesaiBash untuk nilai tambahan gelung
Dari contoh di atas, anda dapat melihat bahawa gelung Meningkatkan nilai di dalam pendakap keriting dengan 2 nilai.
Bash untuk gelung dengan tatasusunan
Anda juga boleh meleleh melalui nilai yang ditakrifkan dalam array menggunakan a Untuk gelung. Dalam contoh berikut, untuk gelung melewati semua nilai di dalam pelbagai buah dan mencetaknya ke stdout.
#!/bin/bash buah = ("blueberry" "peach" "mango" "nanas" "papaya") untuk n dalam $ buah -buahan [@]; lakukan echo $ n selesaiBash untuk contoh array gelung
The @
mengakses atau menargetkan semua elemen. Ini memungkinkan untuk melangkah ke atas semua elemen satu demi satu.
Di samping itu, anda boleh mengakses satu elemen dengan menentukan kedudukannya dalam array.
Contohnya untuk mengakses "mangga"Elemen, ganti @
Pengendali dengan kedudukan elemen dalam array (elemen pertama bermula pada 0, jadi dalam kes ini, "mangga"Akan dilambangkan oleh 2).
Inilah yang kelihatan seperti gelung.
#!/bin/bash buah = ("blueberry" "peach" "mango" "nanas" "pepaya") untuk n dalam $ buah -buahan [2]; lakukan echo $ n selesaiBash untuk gelung dengan elemen array
Bash C-Styled untuk Gelung
Anda boleh menggunakan pembolehubah di dalam gelung untuk melangkah ke atas pelbagai elemen. Di sinilah dimana C-gaya untuk gelung masuklah. Contoh berikut menggambarkan a C-style for Loop yang mencetak senarai nilai berangka dari 1 hingga 7.
#!/bin/bash n = 7 untuk ((n = 1; n<=$n ; n++ )); do echo $n doneBash C-Styled untuk contoh gelung
Bash C-Styled untuk gelung dengan pernyataan bersyarat
Anda boleh memasukkan pernyataan bersyarat di dalam C-gaya untuk gelung. Dalam contoh berikut, kami telah memasukkan pernyataan IF-ELSE yang memeriksa dan mencetak nombor walaupun dan ganjil antara 1 dan 7.
#!/bin/bash untuk ((n = 1; n<=7; n++ )) do # Check if the number is even or not if (( $n%2==0 )) then echo "$n is even" else echo "$n is odd" fi doneBash C-Styled untuk Loops Contoh Penyataan Bersyarat
Gunakan pernyataan 'Teruskan' dengan Bash untuk Loop
'TeruskanPernyataan 'adalah arahan terbina dalam yang mengawal bagaimana skrip berjalan. Selain daripada skrip bash, ia juga digunakan dalam bahasa pengaturcaraan seperti Python dan Java.
The Teruskan pernyataan menghentikan lelaran semasa di dalam a gelung Apabila keadaan tertentu dipenuhi, dan kemudian meneruskan lelarannya.
Pertimbangkan untuk gelung ditunjukkan di bawah.
#!/bin/bash untuk n dalam 1 ... 10 lakukan jika [[$ n -eq '6']] kemudian echo "sasaran $ n telah dicapai" terus fi echo $ n selesaiBash untuk Loop Contoh Penyata
Inilah kod yang dilakukan:
- Baris 2: Menandakan permulaan gelung untuk dan melepasi pembolehubah n dari 1 hingga 10.
- Baris 4: Memeriksa nilai n dan jika pembolehubah adalah sama dengan 6, skrip menggema mesej untuk stdout dan memulakan semula gelung pada lelaran seterusnya dalam baris 2.
- Baris 9: Mencetak nilai ke skrin hanya jika keadaan dalam baris 4 adalah palsu.
Berikut adalah output yang diharapkan setelah menjalankan skrip.
Bash untuk Output Penyata Loop ContinueGunakan pernyataan 'Break' dengan Bash untuk Loop
The 'rehat' pernyataan, seperti namanya, menghentikan atau menamatkan lelaran apabila keadaan dipenuhi.
Pertimbangkan Untuk gelung di bawah.
#!/bin/bash untuk n dalam 1 ... 10 lakukan jika [[$ n -eq '6']] kemudian echo "sasaran $ n telah dicapai" break fi echo $ n selesai echo "semua selesai"Bash untuk pernyataan rehat gelung
Inilah kod yang dilakukan:
- Baris 2: Menandakan permulaan gelung untuk dan melepasi pembolehubah n dari 1 hingga 10.
- Baris 4: Memeriksa nilai n dan jika pembolehubah adalah sama dengan 6, skrip menggema mesej untuk stdout dan menghentikan lelaran.
- Baris 9: Mencetak nombor ke skrin hanya jika keadaan dalam baris 4 adalah palsu.
Dari output, anda dapat melihat bahawa gelung berhenti sebaik sahaja pemboleh ubah memenuhi syarat gelung.
Bash untuk output pernyataan gelung gelungKesimpulan
Itu adalah tutorial mengenai Bash untuk gelung. Kami harap anda dapati ini berwawasan. Jangan ragu untuk menimbang dengan maklum balas anda.
- « Cara Memasang Pemantauan Nagios di Rhel, Rocky, dan Almalinux
- Alat terbaik untuk membuat borang PDF yang boleh diisi di Linux »