Memahami perulangan bash for (bash for loop) lengkap dengan contohnya
For loop adalah salah satu struktur dasar dalam berbagai bahasa pemrograman, termasuk bash, yang sangat berguna untuk mengotomatiskan tugas-tugas di server atau platform VPS. Kali ini, kami akan membahas cara menggunakan for loop di bash atau “bash for loop”, lengkap dengan contohnya.
Menggunakan for loop, Anda bisa menjalankan perintah tertentu secara berulang tanpa harus menulis kode yang sama berulang kali. Misalnya, kalau Anda ingin menjalankan perintah tertentu sebanyak 5 kali, Anda cukup menuliskannya satu kali menggunakan syntax for loop.
Syntax bash for loop
Pada dasarnya, syntax for loop yang paling sederhana digunakan untuk mengulangi munculnya sekumpulan variabel. Urutan bash secara umum terlihat seperti berikut:
for VARIABLE in 1 2 3 4 5 .. N Perform the below command: command1 command2 commandN done
Contoh implementasi nyatanya dalam bash script akan terlihat seperti di bawah ini:
#!/bin/bash for i in 1 2 3 4 5 do echo "Hello $i" done
Apabila Anda menjalankan skrip tersebut, hasilnya akan seperti ini:
Hello 1 Hello 2 Hello 3 Hello 4 Hello 5
Berikut penjelasan elemen dalam sintaks for loop di atas:
- #!/bin/bash – menunjukkan bahwa kode ditulis dalam bahasa bash.
- i – placeholder untuk variabel. Sementara itu, $i adalah nilai individu variabel tersebut. Anda juga bisa menulisnya sebagai c/$c atau dengan nama lain.
- in – memisahkan nama variabel dengan daftar item yang akan di-loop.
- 1 2 3 4 5 – contoh item yang akan digunakan untuk menjalankan instruksi.
- do – kata kunci yang memulai perulangan. Kata kunci ini kemudian akan menjalankan instruksi sebanyak n kali (n adalah jumlah total item). Dalam contoh ini, nilai n adalah 5.
- echo “Hello: $i” – kode yang akan diulang sebanyak n kali. Perlu diingat, tanda petik akan mengubah apa pun yang diapitnya menjadi satu variabel.
- done – menghentikan perulangan.
Selain itu, berikut adalah syntax perintah loop yang juga umum digunakan:
for VARIABLE in file1 file2 file3 do command1 on $VARIABLE command2 commandN done
Serta yang berikut ini:
for OUTPUT in $(Linux-Or-Unix-Command-Here)
do
command1 on $OUTPUT
command2 on $OUTPUT
commandN
done

Contoh bash for loop
Sebelum kita masuk ke contoh-contoh bash for loop, pastikan Anda sudah login ke VPS. Kalau membutuhkan panduan, baca tutorial Putty SSH kami untuk mempelajari langkah-langkahnya.
Selain itu, kalau Anda mengalami kendala saat menjalankan bash, simak tutorial dasar bash script kami yang akan membantu Anda. Perlu diingat bahwa perintah-perintah bash biasanya ditulis dalam file .sh. Untuk membuatnya, ketik perintah berikut di command-line:
vim namafile.sh
Perintah ini akan membuka editor VIM dan membuat file baru. Anda bisa langsung menulis skrip bash di dalamnya.
Bash for loop untuk membuat three-expression loop
Three-expression loop memiliki struktur yang mirip dengan bahasa pemrograman C. Formatnya terdiri dari tiga bagian: inisialisasi (EXP1), kondisi (EXP2), dan ekspresi penghitungan (EXP3).
Inisialisasi menetapkan nilai awal variabel, dan kondisi menentukan apakah perulangan akan terus berjalan. Sementara itu, ekspresi penghitungan akan memperbarui nilai variabel di setiap iterasi.
Berikut syntax dasarnya:
for (( EXP1; EXP2; EXP3 )) do command1 command2 command3 done
Agar lebih mudah dipahami, perhatikan contoh berikut:
#!/bin/bash for (( c=1; c<=5; c++ )) do echo "The number $c" done
Dalam contoh di atas, nilai awal loop adalah 1. Loop akan terus berjalan selama c kurang dari atau sama dengan 5. Setiap kali perulangan terjadi, c akan bertambah 1 berkat ekspresi c++.
Bash script ini kemudian akan menampilkan pesan “$c” yang merujuk pada nilai loop, dimulai dari 1 hingga mencapai kondisi yang ditentukan. Outputnya akan terlihat seperti ini:

Bash for loop untuk membuat infinity loop
Bash memungkinkan Anda membuat loop tak terhingga (infinity loop), di mana perintah akan terus dijalankan hingga Anda menghentikannya secara manual, misalnya dengan menekan Ctrl + C.
Salah satu cara membuat infinity loop adalah menggunakan pernyataan while:
while true do echo "Hello, world!" sleep 1 done
Apabila kondisinya true (benar), perintah ini akan menampilkan “Hello, world!” dalam interval satu detik. Cuplikan ini menggunakan pernyataan kondisional while true agar kode selalu mengembalikan exit status yang berhasil.
Karena kondisinya selalu true, kode akan terus mengulang perintah echo untuk menampilkan pesan.
Alternatif lainnya, Anda bisa menggunakan three-expression infinite loop:
for (( ; ; )) do echo "Hello, world!" sleep 1 done
Pada cuplikan di atas, kita mengatur semua ekspresi menjadi kosong. Karena tidak ada kondisi penghentian yang harus dipenuhi, perulangan akan terus berlanjut hingga pengguna menghentikannya.

Bash for loop untuk membuat skip and continue loop
Bash memungkinkan Anda membuat perulangan yang melewatkan nilai tertentu dan melanjutkan perulangan setelahnya. Syntax kodenya adalah sebagai berikut:
for i in 1 2 3 4 5
do
if [condition]
then
#Lanjutkan dengan iterasi i berikutnya dan lewati pernyataan
continue
fi
statement
done
Berikut adalah contoh kode skip and continue loop:
for i in {1..5} do if [[ "$i" == '4' ]] then continue fi echo "Hello $i" done
Dalam contoh ini, kita menentukan item yang akan dimodifikasi, yaitu angka 1-5. Tambahkan kondisi if, yang menyatakan bahwa jika nilai variabel sama dengan 4, perulangan tidak menjalankan kode dan melanjutkan ke nilai berikutnya.
Artinya, loop akan berjalan pada 1, 2, 3, dan 5, seperti yang ditunjukkan oleh output berikut ini:

Bash for loop untuk membuat loop bersyarat dengan break loop
Selain struktur three-expression, gunakan for-in untuk menghentikan perulangan secara otomatis ketika operasi skrip memenuhi kondisi tertentu. Berikut adalah syntax kodenya:
for i in 1 2 3 4 5 do if [condition] then break fi statement done
Anda bisa menambahkan perintah lain di akhir kode, yang akan dijalankan setelah perulangan berakhir. Perhatikan contoh berikut ini:
for state in Alabama Alaska Arizona Arkansas California do if [[ "$state" == 'Arkansas' ]]; then break fi echo "state: $state" done echo 'That’s all!'
Skrip loop menampilkan semua nama negara bagian yang ditentukan dalam daftar, tapi berhenti ketika kondisi break terpenuhi, yaitu ketika nilai saat ini sama dengan Arkansas.
Kemudian, skrip berpindah ke instruksi berikutnya untuk menampilkan pesan “That’s all!”. Berikut adalah tampilan outputnya:

Bash for loop dengan elemen array
Daripada menuliskan item satu per satu di dalam for-in, Anda bisa menggunakan array agar kode Anda lebih rapi dan mudah dibaca. Cara ini mempermudah proses perulangan karena setiap item diakses satu per satu secara otomatis.
Pertama, deklarasikan array di awal, lalu tambahkan elemen-elemennya menggunakan for-in. Berikut syntax dasarnya:
#Mendeklarasikan array berisi item
array=("item1" "item2" "item3" "item4")
#Iterasi array dan jalankan perintah
for item in "${array[@]}"
do
command1
command2
command3
done
Berikut adalah contoh kode bash loop dengan elemen array:
fruit_array=("apple" "banana" "red cherry" "green grape") for fruit in "${fruit_array[@]}" do echo "Fruit: $fruit" done
Bash loop akan melakukan perulangan pada item dalam array dan menggunakan perintah echo untuk menampilkannya dengan awalan “Fruit:” seperti pada output berikut:

Kalau Anda menambahkan perintah lain, semua perintah tersebut akan dijalankan pada setiap elemen sebelum berpindah ke item berikutnya. Misalnya, kita bisa menyisipkan echo tambahan untuk menambah akhiran (suffix) pada setiap item. Berikut outputnya:

Bash for loop dengan variabel shell
Selain array, Anda bisa menggunakan variabel shell biasa guna menyimpan item untuk perulangan bash. Berikut kodenya:
#Tentukan variabel shell
variable="a single item"
#Iterasi variabel dan jalankan perintah
for item in $variable
do
command1
command2
command3
done
Variabel shell hanya berisi satu elemen data, tapi bash loop akan secara otomatis mengulang item yang dipisahkan oleh spasi, memperlakukannya sebagai item yang terpisah. Perhatikan contoh berikut:
var_numbers="1 2 3 4 5" for number in $var_numbers do echo "Number: $number" done
Perulangan ini akan menampilkan angka satu per satu, bukan sebagai satu string. Untuk memperlakukan item sebagai satu kesatuan, apit variabel $var_numbers dalam ekspresi for-in dengan tanda petik, seperti berikut ini:
for number in "$var_numbers"

Bash for loop dengan angka
Untuk menangani angka menggunakan bash loop, Anda bisa menggunakan range agar tidak perlu menuliskannya satu per satu. Cukup gunakan tanda kurung kurawal untuk menambahkan rentang:
for i in {1..5} do echo "$i" done
Dalam contoh ini, loop akan mengulang semua angka dari satu sampai lima. Selain itu, Anda bisa mengubah pertambahan menggunakan three-expression syntax {START..END..INCREMENT}. Berikut contohnya:
for i in {1..10..2} do echo "Number: $i" done
Penting! Pada beberapa skrip, syntax pertambahan menggunakan tanda kurung ganda, bukan kurung kurawal. Namun, keduanya memiliki fungsi yang sama.
Perulangan akan beroperasi pada nilai pertama, yaitu 1, lalu naik dua kali lipat menjadi 3, dan seterusnya. Setelah mencapai nilai akhir 10, kode akan berhenti. Hasilnya seperti berikut:

Perlu diperhatikan bahwa fitur range hanya tersedia pada Bash versi 3.0 atau yang lebih baru, sedangkan pertambahan didukung pada Bash 4.0 dan yang lebih baru.
Bash for loop dengan string
Dalam bash loop, variabel shell umum digunakan untuk menyimpan beberapa string. Anda bisa menjalankan tugas secara massal, seperti mengganti nama file atau menginstal paket. Berikut syntaxnya:
variable="string1 string2 string3" for item in $variable do command1 command2 command3 done
Atau, gunakan array kalau string Anda mengandung spasi. Selain memungkinkan bash loop untuk membaca item yang dipisahkan spasi, array lebih mudah untuk diulang dan ditambah. Berikut syntax kodenya:
array=("First item" "Second item" "Third item" "Fourth item") for item in "${array[@]}" do command1 command2 command3 done
Menggunakan bash script secara efektif di VPS Hostinger
Selain mengotomatiskan tugas-tugas pengelolaan VPS menggunakan bash for loop, Anda juga bisa memanfaatkan fitur-fitur yang disediakan oleh provider hosting Anda untuk meningkatkan efisiensi administrasi server.
Sebagai contoh, VPS Hostinger menyediakan Terminal browser yang langsung bisa diakses di control panel hosting kami, hPanel. Terminal ini memungkinkan Anda menjalankan perintah dan utilitas Linux seperti bash loop langsung dari web browser.

Selain itu, kami memiliki Kodee, asisten AI yang siap membantu memudahkan pengelolaan VPS, terutama bagi pengguna pemula.
Misalnya, Anda bisa memintanya untuk membuat skrip bash for loop untuk berbagai tugas menggunakan prompt sederhana, seperti “Buatkan skrip bash for loop yang memulai ulang daftar layanan” atau “Tuliskan skrip bash for loop untuk membackup beberapa direktori.”
Untuk mengakses tool ini, login ke hPanel Anda dan klik menu VPS. Pilih server Anda, lalu buka Kodee dari sidebar. Untuk mendapatkan hasil yang akurat, pastikan Anda menggunakan prompt AI yang jelas dan spesifik.
Penting! Karena keterbatasan AI, beberapa jawaban mungkin tidak akurat atau kurang update.
Kesimpulan
Bash for loop sangat berguna untuk mengotomatiskan berbagai tugas berulang di sistem Linux. Dari contoh-contoh dasar yang sudah dibahas, Anda bisa mengembangkannya lagi, misalnya untuk memantau file, menjalankan perintah secara massal, atau menyusun alur kerja yang kompleks.
Hal yang perlu diperhatikan adalah bagaimana Anda menyusun perintah perulangannya. Anda mungkin perlu sedikit waktu untuk terbiasa menggunakannya, tapi dengan membaca tutorial ini, Anda pun sudah tahu langkah-langkah awalnya.
Semakin sering Anda berlatih, semakin mahir Anda menggunakannya. Selamat mencoba dan semoga berhasil!