Cara Menggunakan Bash untuk Loop di Linux

Cara Menggunakan Bash untuk Loop di Linux

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 selesai 
Bash 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 julat

Di 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 selesai 
Bash 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 selesai 
Bash 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 selesai 
Bash 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 done 
Bash 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 done 
Bash 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 selesai 
Bash 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 Continue

Gunakan 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 gelung
Kesimpulan

Itu adalah tutorial mengenai Bash untuk gelung. Kami harap anda dapati ini berwawasan. Jangan ragu untuk menimbang dengan maklum balas anda.