Panduan dan Contoh Menggunakan Bash For Loop

For loop merupakan perintah utama pada variasi bahasa pemrograman. Kali ini, kami akan menjelaskan bagaimana cara menggunakannya pada bahasa pemrograman bash – nanti, Anda akan tahu mengapa dinamai “bash for loop.” Maka dari itu, bersiaplah untuk menambahkannya pada daftar tool developer Anda!

Bash for loop merupakan statement iterasi, yang berarti kode tersebut dapat dijalankan berulang-ulang. Katakanlah Anda ingin menjalankan sebuah perintah sebanyak 5 kali. Alih-alih menuliskan lima kode secara terpisah, Anda dapat menuliskan syntax for loop sekali saja. Bagaimana cara melakukannya? Mari ulas lebih dalam lagi.

Syntax Bash For Loop

Dasarnya, syntax for loop yang paling sederhana adalah mengulang kemunculan serangkaian variabel. Biasanya syntax tersebut akan terlihat seperti ini:

for VARIABLE in 1 2 3 4 5 .. N
Perform the below command:
    command1
    command2
    commandN
done

Aslinya, syntax tersebut akan terlihat seperti contoh di bawah ini:

#!/bin/bash
for i in 1 2 3 4 5
do
 echo "Hello $i"
done

Menjalankan file bash akan menghasilkan teks seperti berikut:

Hello 1
Hello 2
Hello 3
Hello 4 
Hello 5

Mari amati tiap-tiap elemenya:

  • #!/bin/bash – menunjukkan bahwa kode tersebut merupakan bash script
  • i – adalah pengganti untuk variabel. Sementara itu, $i adalah value individual dari variabel. Anda juga dapat menuliskannya sebagai c/$c atau dengan nama lain
  • in – memisahkan variabel dan item yang mengikuti
  • 1 2 3 4 5 – merupakan contoh item yang instruksinya ingin Anda ikuti
  • do – merupakan keyword yang mengaktifkan loop. Elemen ini akan menjalankan instruksi sebanyak n kali, yang mana n merupakan jumlah total itemnya. Disini, nilai dari n adalah 5
  • echo “Hello: $i” – adalah kode yang akan diulang sebanyak n kali. Perlu diingat bahwa tanda kutip akan mengubah semua yang berada di dalamnya menjadi satu variabel
  • done – untuk memberhentikan loop

Kode dapat ditulis dalam cara yang berbeda, tergantung pada versi bash yang digunakan:

Bash versi 3.0+ dapat mempersingkat rentang dengan “. .”.

#!/bin/bash
for i in {1. .5}
do
  echo "Hai $i"
done

Bash versi 4.0+ memungkinkan Anda untuk menggunakan syntax {START. .END. .INCREMENT}.

#!/bin/bash
for i in {0. .8. .2}
do
  echo "Hai $i"
done

Hasilnya akan terlihat seperti ini:

Hai 0
Hai 2
Hai 4
Hai 6 
Hai 8

Syntax umum lainnya adalah:

for VARIABLE in file1 file2 file3
do
    command1 on $VARIABLE
    command2
    commandN
done

Atau seperti ini:

for OUTPUT in $(Linux-Or-Unix-Command-Here)
do
    command1 on $OUTPUT
    command2 on $OUTPUT
    commandN
done

Contoh Bash For Loop

Perlu diingat bahwa sebelum melakukan apapun, Anda harus masuk pada server VPS. Jika Anda memiliki masalah ketika login, tutorial kami akan membantu Anda untuk mengatasinya. Namun, jika Anda memiliki masalah pada bash, Anda dapat mengakses panduan kami tentang dasar fungsi bash.

Jika semuanya baik-baik saja, Anda dapat memperbarui syntax untuk menjalankan beberapa aksi. Namun, pastikan fungsi bash berada dalam file .sh. Untuk membuat file tersebut, jalankan command line berikut ini:

vim NameOfFile.sh

Kegunaan command di atas adalah untuk membuat file .sh yang kemudian akan dibuka di VIM editor. Untuk mempelajari hal ini lebih lanjut, Anda bisa membaca artikel tentang fungsi bash dasar yang telah disebutkan sebelumnya.

Menggunakan Bash For Loop untuk Membuat Loop Infinity

Setelah diaktifkan, loop ini akan terus mengeksekusi kode sampai Anda menghentikannya dengan menekan tombol Control + C. Dalam hal ini, istilah “Hello World” akan terus muncul kembali dengan sendirinya.

#!/bin/bash
for (( ; ; ))
do
  echo "Hello World!"
done

Menggunakan Bash For Loop untuk Membuat Three-Expression Loop

Loop terdiri atas tiga ekspresi penulisan – initializer (EXP1), condition (EXP2), dan ecounting (EXP3). Kadang, orang-orang menyebut ekspresi loop ini sebagai C-style loop karena kemiripannya dengan struktur kode. Berikut tampilan syntax loo tersebut:

for (( EXP1; EXP2; EXP3 ))
do
    command1
    command2
    command3
done

Di bawah ini merupakan contoh syntax loop yang dapat Anda coba:

#!/bin/bash
for (( c=1; c<=5; c++ ))
do  
  echo "Hai $c"
done

Kode di atas menunjukkan bahwa value awalnya adalah 1. Loop akan dieksekusi selama kondisi EXP2 benar, yang berarti valuenya tidak boleh lebih besar daripada 5. Selain itu, tanda ++ menunjukkan bahwa increment-nya adalah 1. Loop akan diulang satu per satu mulai dari value awal. Berikut hasilnya:

Hai 1
Hai 2
Hai 3
Hai 4 
Hai 5

Menggunakan Bash for Loop untuk Membuat Skip and Continue Loop

Statement continue digunakan untuk melanjutkan loop jika sudah sampai pada value yang ditentukan. Berikut adalah tampilan syntax-nya:

for I in 1 2 3 4 5
do
 if [condition]
 then
    continue   #Go to next iteration of I in the loop and skip statements3
 fi
 statement
done

Dengan mengikuti syntax-nya, Anda dapat membuat bash skip and continue loop seperti di bawah ini:

for i in {1..5}
do
  if [[ "$i" == '4' ]]
  then
    continue
  fi
  echo "Hai $i4"
done

Berikut adalah outputnya:

Hai 1
Hai 2
Hai 3
Hai 5

Karena value 4 sesuai dengan statement continue, loop tidak menjalankan kode dan lanjut ke value berikutnya, yaitu 5.

Menggunakan Bash for Loop untuk Membuat Conditional Exit dengan Break Loop

Loop ini memungkinkan Anda untuk menghentikan operasi jika sudah sampai pada value yang telah ditentukan. Loop ini dapat diikuti oleh instruksi lainnya. Berikut tampilan syntax-nya:

for I in 1 2 3 4 5
  do
  if [condition]
  then
    break
  fi
  statement
done

Ketika menggunakan fungsi ini, kodenya akan terlihat seperti ini:

for city in Manila Bangkok Jakarta Kuala Lumpur
do
  if [[ "$city" == 'Jakarta' ]]; then
    break
  fi
  echo "city: $city"
done

echo 'Yes, that’s all!'

Berikut adalah outputnya:

city: Manila
city: Bangkok
Yes, that’s all!

Statement di atas memberi perintah pada loop untuk menghentikan operasi setelah condition-nya benar (pencarian istilah Jakarta). Kode kedua kemudian akan dijalankan, yaitu untuk menampilkan teks yang menyatakan Yes, that’s all.

Kesimpulan

Bash for loop merupakan bahasa pemrograman yang sangat berguna untuk mengotomatisasikan task yang berulang-ulang. Anda bisa melakukan banyak hal, selain beberapa contoh dasar yang telah dibahas dalam artikel ini. Sebagai contoh, Anda bisa melacak file dan melakukan task yang lain. Dan masih banyak lagi!

Untuk memanfaatkan loop ini, Anda hanya perlu menulis syntax-nya. Dengan membaca artikel ini dan panduan lainnya, kesulitan yang mungkin akan Anda alami dapat teratasi dengan baik. Teruslah berlatih dan jangan berhenti untuk mengasah kemampuan Anda. Selamat mencoba!

Author
Penulis

Nadia Agatha

Nadia merupakan penerjemah lepas sejak 2016, kini ia menjadi penerjemah untuk Hostinger. Ia gemar membaca dan melakukan penelitian seputar penerjemahan dan sosiolinguistik. Disamping itu, ia juga suka bermain dengan kucingnya dan bercengkrama bersama teman-temannya di waktu senggang.