Cara menggunakan bash for loop di linux

Cara menggunakan bash for loop di linux

Dalam bahasa pemrograman, Loop adalah komponen penting dan digunakan saat Anda ingin mengulangi kode berulang kali sampai kondisi yang ditentukan terpenuhi.

Di dalam Pesta Scripting, loop Mainkan banyak peran yang sama dan digunakan untuk mengotomatisasi tugas berulang seperti dalam bahasa pemrograman.

Di dalam Pesta Scripting, ada 3 jenis loop: untuk loop, Saat loop, Dan sampai loop. Ketiganya digunakan untuk mengulangi daftar nilai dan melakukan serangkaian perintah yang diberikan.

Dalam panduan ini, kami akan fokus pada Bash untuk loop di linux.

Bash untuk sintaks loop

Seperti yang disebutkan sebelumnya, untuk loop mengulangi rentang nilai dan menjalankan satu set perintah.

Untuk loop mengambil sintaks berikut:

untuk variable_name di value1 value2 value3 ... n do command1 command2 commandn selesai 

Mari kita periksa beberapa contoh penggunaan bash for loop.

Bash sederhana untuk loop

Dalam bentuknya yang paling sederhana, Untuk loop mengambil format dasar berikut. Dalam contoh ini, variabel N mengulangi sekelompok nilai numerik yang terlampir dalam kawat gigi keriting dan mencetak nilainya ke stdout.

untuk n di 1 2 3 4 5 6 7; lakukan gema $ n 
Bash untuk contoh loop

Bash for loop dengan rentang

Dalam contoh sebelumnya, kami secara eksplisit mencantumkan nilai -nilai yang akan diulangi oleh untuk loop, yang berfungsi dengan baik. Namun, Anda hanya bisa membayangkan betapa rumit dan memakan waktu tugas itu jika Anda mengulangi, misalnya, seratus nilai. Ini akan memaksa Anda untuk mengetik semua nilai dari 1 hingga 100.

Untuk mengatasi masalah ini, tentukan rentang. Untuk melakukannya, tentukan nomor untuk memulai dan berhenti dipisahkan oleh dua periode.

Dalam contoh ini, 1 adalah nilai pertama sementara 7 adalah nilai terakhir dalam kisaran.

#!/bin/bash untuk n di 1 ... 7; lakukan gema $ n 

Setelah skrip shell dieksekusi, semua nilai dalam kisaran terdaftar, mirip dengan apa yang kami miliki Loop sederhana.

Bash for loop dengan rentang contoh

Selain itu, kami dapat memasukkan nilai di akhir kisaran yang akan menyebabkan untuk loop untuk mengulangi nilai -nilai dalam langkah tambahan.

Script bash berikut mencetak nilai antara 1 dan 7 dengan 2 langkah tambahan antara nilai mulai dari nilai pertama.

#!/bin/bash untuk n di 1 ... 7 ... 2; lakukan gema $ n 
Bash untuk nilai bertambahnya loop

Dari contoh di atas, Anda dapat melihat bahwa lingkaran bertambah nilai di dalam kawat gigi keriting dengan 2 nilai.

Bash untuk loop dengan array

Anda juga dapat dengan mudah mengulangi nilai -nilai yang ditentukan dalam array menggunakan a Untuk loop. Dalam contoh berikut, untuk loop mengulangi semua nilai di dalam array buah dan mencetaknya ke stdout.

#!/bin/bash fruits = ("blueberry" "peach" "mangga" "nanas" "papaya") untuk n dalam $ fruits [@]; lakukan gema $ n 
Bash untuk contoh array loop

Itu @ operator mengakses atau menargetkan semua elemen. Ini memungkinkan untuk mengulangi semua elemen satu per satu.

Selain itu, Anda dapat mengakses satu elemen dengan menentukan posisinya di dalam array.

Misalnya untuk mengakses “buah manggaElemen, ganti @ operator dengan posisi elemen dalam array (elemen pertama dimulai pada 0, jadi dalam hal ini, “buah mangga“Akan dilambangkan dengan 2).

Seperti inilah loop untuk.

#!/bin/bash fruits = ("blueberry" "peach" "mangga" "nanas" "papaya") untuk n dalam $ buah [2]; lakukan gema $ n 
Bash untuk loop dengan elemen array

Bash-styled untuk loop

Anda dapat menggunakan variabel di dalam loop untuk mengulangi berbagai elemen. Di sinilah C-styled untuk loop Silahkan masuk. Contoh berikut menggambarkan a C-style untuk loop Itu mencetak daftar nilai numerik dari 1 hingga 7.

#!/bin/bash n = 7 untuk ((n = 1; n<=$n ; n++ )); do echo $n done 
Bash C-styled untuk contoh loop

Bash-c-styled untuk loop dengan pernyataan bersyarat

Anda dapat memasukkan pernyataan bersyarat di dalamnya C-styled untuk loop. Dalam contoh berikut, kami telah menyertakan pernyataan IF-Else yang memeriksa dan mencetak angka genap 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 Contoh Pernyataan Bersyarat

Gunakan pernyataan 'Lanjutkan' dengan Bash untuk Loop

The 'melanjutkan'Pernyataan adalah perintah bawaan yang mengontrol bagaimana skrip berjalan. Selain Bash Scripting, ini juga digunakan dalam bahasa pemrograman seperti Python dan Java.

Itu Lanjutkan pernyataan menghentikan iterasi saat ini di dalam a lingkaran Saat kondisi tertentu dipenuhi, dan kemudian melanjutkan iterasi.

Pertimbangkan untuk loop ditunjukkan di bawah ini.

#!/bin/bash untuk n di 1 ... 10 lakukan jika [[$ n -eq '6']] kemudian gema "target $ n telah tercapai" Lanjutkan fi echo $ n selesai 
Bash for Loop Lanjutkan Contoh Pernyataan

Inilah yang dilakukan kode:

  • Baris 2: Menandai awal loop untuk dan mengulangi variabel n dari 1 hingga 10.
  • Baris 4: Memeriksa nilai n dan jika variabelnya sama dengan 6, skrip menggemakan pesan ke stdout dan me -restart loop pada iterasi berikutnya di baris 2.
  • Baris 9: Mencetak nilai ke layar hanya jika kondisi di baris 4 adalah false.

Berikut ini adalah output yang diharapkan setelah menjalankan skrip.

Bash for loop lanjutkan output pernyataan

Gunakan pernyataan 'break' dengan bash untuk loop

Itu 'merusak' pernyataan, seperti namanya, menghentikan atau mengakhiri iterasi saat suatu kondisi terpenuhi.

Pertimbangkan Untuk loop di bawah.

#!/bin/bash untuk n di 1 ... 10 lakukan jika [[$ n -eq '6']] kemudian echo "target $ n telah tercapai" break fi echo $ n selesai gema "semuanya selesai" 
Bash untuk Pernyataan Loop Break

Inilah yang dilakukan kode:

  • Baris 2: Menandai awal loop untuk dan mengulangi variabel n dari 1 hingga 10.
  • Baris 4: Memeriksa nilai n dan jika variabelnya sama dengan 6, skrip menggemakan pesan ke stdout dan menghentikan iterasi.
  • Baris 9: Mencetak angka ke layar hanya jika kondisi di baris 4 adalah false.

Dari output, Anda dapat melihat bahwa loop berhenti setelah variabel memenuhi kondisi loop.

Bash untuk output pernyataan loop break
Kesimpulan

Itu adalah tutorial tentang Bash untuk loop. Kami harap Anda menemukan ini berwawasan luas. Jangan ragu untuk mempertimbangkan umpan balik Anda.