For Loop di Bash


Loop adalah salah satu konsep dasar bahasa pemrograman. Loop berguna saat Anda ingin menjalankan serangkaian perintah berulang kali hingga kondisi tertentu tercapai. Dalam bahasa skrip seperti Bash, loop berguna untuk mengotomatiskan tugas yang berulang. Ada tiga konstruksi loop dasar dalam skrip Bash, for loop, while loop, until loop. Dalam tutorial ini, kita akan membahas dasar-dasar for loop di Bash. Kami juga akan menunjukkan kepada Anda bagaimana menggunakan pernyataan break dan continue untuk mengubah aliran loop.

#Bash Standar For Loop

Perulangan for melakukan iterasi atas daftar item dan melakukan serangkaian perintah yang diberikan.

for item in [DAFTAR]
do
  [PERINTAH]
done

Daftar dapat berupa rangkaian string yang dipisahkan oleh spasi, rentang angka, keluaran perintah, array, dan sebagainya.


#Loop Over String
Pada contoh di bawah ini, loop akan mengulang setiap item dalam daftar string, dan elemen variabel akan disetel ke item saat ini:

for memakan in Rujak Tempe Tahu Roti
do
  echo "Makan $memakan"
done

Loop akan menghasilkan Output sebagai berikut:

Makan Rujak
Makan Tempe
Makan Tahu
Makan Roti



#Loop over a number range 
Kita dapat menggunakan ekspresi urutan untuk menentukan rentang angka atau karakter dengan menentukan titik awal dan akhir rentang. Ekspresi urutan mengambil bentuk berikut:

{AWAL..AKHIR}

Berikut ini contoh loop yang mengulang semua angka dari 0 hingga 3:

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


Maka Outpurnya ialah:

Angka: 0
Angka: 1
Angka: 2
Angka: 3


Selanjutnya Kita Juga kita Bisa menentukan kenaikan sesuai rentang yang ditentukan

{AWAL..AKHIR..KENAIKAN}

Berikut adalah contoh yang menunjukkan cara menambah  Kenaikan 5 :

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


Maka Outputnya ialah:

Angka: 0
Angka: 5
Angka: 10
Angka: 15
Angka: 20



#Loop Over Array
Kita juga dapat menggunakan for loop untuk melakukan iterasi pada Element Array. Dalam contoh di bawah ini, kita mendefinisikan sebuah array bernama BUKU dan melakukan iterasi pada setiap elemen dari array tersebut.

BUKU=('Matematika' 'Sejarah' 'Bahasa' 'Wirausaha')

for Buku in "${BUKU[@]}"; do
  echo "Sebuah Buku: $Buku"
done


Maka Outputnya ialah:

Sebuah Buku: Matematika
Sebuah Buku: Sejarah
Sebuah Buku: Bahasa
Sebuah Buku: Wirausaha



#The C-style Bash for loop
Sintaks loop for C-style mengambil bentuk berikut:

for ((INISIALISASI; UJI; LANGKAH))
do
  [PERINTAH]
done


Bagian INISIALISASI dijalankan hanya sekali ketika loop dimulai. Kemudian, bagian UJI dievaluasi. Jika salah, loop dihentikan. Jika UJI benar, perintah di dalam tubuh loop for dijalankan, dan bagian LANGKAH diperbarui.

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

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

Maka Outputnya Ialah:

Angka: 0
Angka: 1
Angka: 2
Angka: 3
Angka: 4
Angka: 5
............... 
Angka: 999
Angka: 1000



#break and continue Statements
Pernyataan break mengakhiri loop saat ini dan meneruskan kontrol program ke pernyataan yang mengikuti pernyataan dihentikan. Biasanya digunakan untuk menghentikan loop ketika kondisi tertentu terpenuhi.

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

for unsur in Hidrogen Helium Lithium Berilium;
do
  if [[ "$unsur" == 'Lithium' ]]; then
    break
  fi
  echo "Para Elemen: $unsur"
done
echo 'Semua Selesai!'


Maka Output ialah:

Para Elemen: Hidrogen
Para Elemen: Helium
Semua Selesai!


Continue Statement
Pernyataan continue keluar dari iterasi loop saat ini dan meneruskan kontrol program ke iterasi loop berikutnya.

Dalam contoh berikut, Kita melakukan iterasi melalui berbagai angka. Ketika item iterasi saat ini sama dengan '2', pernyataan continue akan menyebabkan eksekusi kembali ke awal loop dan melanjutkan dengan iterasi berikutnya:

for i in {1..5}; do
  if [[ "$i" == '2' ]]; then
    continue
  fi
  echo "Angka: $i"
done


Maka Outputnya ialah:

Angka: 1
Angka: 3
Angka: 4
Angka: 5


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

root@digazumxyz:/home/galang# ls
dua.jpeg  satu.jpeg  tiga.jpeg


Membuat Script Bash :

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

Mengecek Kembali

root@digazumxyz:/home/galang# bash loop.sh
root@digazumxyz:/home/galang# ls
dua.jpg  loop.sh  satu.jpg  tiga.jpg

Mari kita menganalisis kode baris demi baris:
  1. Baris pertama membuat perulangan for dan melakukan iterasi melalui daftar didirektori /home/galang semua file yang diakhiri dengan '.jpeg'.
  2. Baris kedua berlaku untuk setiap item dari daftar dan memindahkan file ke yang baru mengganti '.jpeg' dengan '.jpg'. $ {file% .jpeg} untuk menghapus bagian '.jpeg' dari nama file menggunakan ekspansi parameter shell
  3. done menunjukkan akhir segmen loop.
Kesimpulan:
Bash for loop digunakan untuk mengeksekusi serangkaian perintah tertentu berulang kali selama beberapa kali


Referensi : https://linuxize.com/
Click here to Download