Android

Bash untuk loop

Tutorial dasar PHP | perulangan atau looping untuk eksekusi kode berkali-kali

Tutorial dasar PHP | perulangan atau looping untuk eksekusi kode berkali-kali

Daftar Isi:

Anonim

Loop adalah salah satu konsep dasar bahasa pemrograman. Loop berguna ketika Anda ingin menjalankan serangkaian perintah berulang sampai kondisi tertentu tercapai.

Dalam bahasa scripting seperti Bash, loop berguna untuk mengotomatiskan tugas yang berulang.

Ada tiga konstruksi loop dasar dalam skrip Bash, untuk loop, while, dan hingga loop.

Dalam tutorial ini, kita akan membahas dasar-dasar untuk loop di Bash. Kami juga akan menunjukkan kepada Anda bagaimana menggunakan break dan melanjutkan pernyataan untuk mengubah aliran loop.

Bash Untuk Loop Standar

Untuk loop berulang pada daftar item dan melakukan serangkaian perintah yang diberikan.

Bash for loop mengambil bentuk berikut:

for item in do done

Daftar dapat berupa serangkaian string yang dipisahkan oleh spasi, rentang angka, output dari perintah, array, dan sebagainya.

Ulangi string

Dalam contoh di bawah ini, loop akan beralih ke setiap item dalam daftar string, dan element variabel akan diatur ke item saat ini.

for element in Hydrogen Helium Lithium Beryllium do echo "Element: $element" done

Loop akan menghasilkan output berikut:

Element: Hydrogen Element: Helium Element: Lithium Element: Beryllium

Ulangi rentang angka

Anda dapat menggunakan ekspresi urutan untuk menentukan rentang angka atau karakter dengan menentukan awal dan titik akhir rentang. Ekspresi urutan mengambil bentuk berikut:

{START..END}

Pada contoh di bawah ini, loop akan beralih melalui semua angka dari 0 hingga 3.

for i in {0..3} do echo "Number: $i" done

Number: 0 Number: 1 Number: 2 Number: 3

Mulai dari Bash 4, dimungkinkan juga untuk menentukan kenaikan saat menggunakan rentang. Ekspresi mengambil bentuk berikut:

{START..END..INCREMENT}

for i in {0..20..5} do echo "Number: $i" done

Number: 0 Number: 5 Number: 10 Number: 15 Number: 20

Simpulkan elemen array

Anda juga bisa menggunakan loop for untuk beralih ke berbagai elemen:

Dalam contoh di bawah ini, kami mendefinisikan sebuah BOOKS array dan mengulangi setiap elemen array.

BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby') for book in "${BOOKS}"; do echo "Book: $book" done

Book: In Search of Lost Time Book: Don Quixote Book: Ulysses Book: The Great Gatsby

B-style Bash untuk loop

Sintaks C-style untuk loop mengambil bentuk berikut:

for ((INITIALIZATION; TEST; STEP)) do done

Bagian INITIALIZATION dijalankan hanya sekali ketika loop dimulai. Kemudian, bagian TEST dievaluasi. Jika salah, loop for diakhiri. Jika TEST benar, perintah di dalam tubuh for loop dieksekusi dan bagian STEP diperbarui.

Dalam kode berikut, loop dibintangi dengan menginisialisasi i = 0 , lalu sebelum setiap iterasi memeriksa apakah i ≤ 10 . Jika benar itu mencetak nilai saat ini dari i dan i dengan 1 ( i++ ) jika tidak, loop berakhir.

for ((i = 0; i <= 1000; i++)); do echo "Counter: $i" done

Loop akan berulang 1001 kali dan menghasilkan output berikut:

Counter: 0 Counter: 1 Counter: 2… Counter: 998 Counter: 999 Counter: 1000

Istirahat dan Lanjutkan Pernyataan

Pernyataan break and continue dapat digunakan untuk mengontrol eksekusi for loop.

Pernyataan Break

Pernyataan istirahat mengakhiri loop saat ini dan melewati kontrol program ke pernyataan yang mengikuti pernyataan yang diakhiri. Biasanya digunakan untuk mengakhiri loop ketika kondisi tertentu terpenuhi.

Dalam contoh berikut, kami menggunakan pernyataan if untuk menghentikan eksekusi loop setelah item iterated saat ini sama dengan 'Lithium'.

for element in Hydrogen Helium Lithium Beryllium; do if]; then break fi echo "Element: $element" done echo 'All Done!'

Element: Hydrogen Element: Helium All Done!

Lanjutkan Pernyataan

Pernyataan melanjutkan keluar dari iterasi saat ini dari loop dan melewati kontrol program untuk iterasi berikutnya dari loop.

Dalam contoh berikut, kami melakukan iterasi melalui rentang angka dan ketika item iterasi saat ini sama dengan '2', pernyataan terus akan menyebabkan eksekusi kembali ke awal dari loop dan untuk melanjutkan dengan iterasi berikutnya.

for i in {1..5}; do if]; then continue fi echo "Number: $i" done

Number: 1 Number: 3 Number: 4 Number: 5

Bash Sebagai Contoh Loop

Mengganti nama file dengan spasi di nama file

Contoh berikut menunjukkan cara menggunakan Bash for loop untuk mengubah nama semua file di direktori saat ini dengan spasi dalam namanya dengan mengganti ruang untuk menggarisbawahi.

for file in *\ *; do mv "$file" "${file// /_}" done

Mari kita uraikan baris kode demi baris:

  • Baris pertama membuat for for dan beralih melalui daftar semua file dengan spasi dalam namanya. Ekspresi *\ * membuat daftar. Baris kedua berlaku untuk setiap item dalam daftar dan memindahkan file ke yang baru menggantikan ruang dengan garis bawah ( _ ). Bagian ${file// /_} menggunakan ekspansi parameter shell untuk mengganti pola dalam parameter dengan string. done menunjukkan akhir dari segmen loop.

Mengubah ekstensi file

Contoh berikut menunjukkan cara menggunakan Bash for loop untuk mengubah nama semua file yang diakhiri dengan.jpeg di direktori saat ini dengan mengganti ekstensi file dari.jpeg ke.jpg.

for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg" done

Mari kita menganalisis kode baris demi baris:

  • Baris pertama membuat for for dan beralih melalui daftar semua file yang diakhiri dengan '.jpeg'. Baris kedua berlaku untuk setiap item dalam daftar dan memindahkan file ke yang baru menggantikan '.jpeg' dengan '.jpg'. ${file%.jpeg} untuk menghapus bagian '.jpeg' dari nama file menggunakan ekspansi parameter shell yang done menunjukkan akhir dari segmen loop.

Kesimpulan

Sekarang Anda harus memiliki pemahaman yang baik tentang bagaimana menggunakan bash for loop untuk beralih melalui daftar.

terminal bash loop