Seperti bahasa scripting lainnya, Bash juga memiliki dukungan untuk loop.
Loop sangat bagus untuk melakukan tugas yang berulang. Kita dapat menggunakan loop for dan while dalam skrip Bash.
Bash Untuk Loop
Sintaks perulangan for adalah:
for VARIABLE in PARAM1 PARAM2 PARAM3
do
// scope of for loop
done
Perulangan for akan dijalankan untuk setiap parameter. Parameternya bisa berupa angka, rentang angka atau string, dll.
Contoh Bash Untuk Loop
Contoh sederhana ini mencetak angka, 1 sampai 5 menggunakan for loop:
#!/bin/bash
for i in 1 2 3 4 5
do
echo "$i"
done
Keluaran:
1
2
3
4
5
Bash For Loop - Cetak Rentang Angka
Kami juga dapat menentukan rentang angka untuk diulang:
Misalnya:
for i in {1..5}
do
echo "$i"
done
Keluaran:
1
2
3
4
5
Bash Loop Melalui String
Kita juga dapat menggunakan for loop untuk mengulang parameter string:
#!/bin/bash
for day in MON TUE WED THU FRI SAT SUN
do
echo "$day"
done
Keluaran:
MON
TUE
WED
THU
FRI
SAT
SUN
Bash Untuk Loop - C Style
Kita juga dapat menggunakan sintaks gaya-C untuk menulis perulangan for. Misalnya:
#!/bin/bash
for ((i=1; i<=5; i++))
do
echo "$i"
done
Keluaran
1
2
3
4
5
Untuk Pengulangan Mencetak Daftar File di Direktori Saat Ini
Untuk membuat daftar semua file di direktori saat ini menggunakan bash for loop, kami menggunakan:
#!/bin/bash
for fname in ./
do
ls -l $fname
done
Bash While Loop
Bash juga mendukung while loop. Perulangan while mengeksekusi sekumpulan instruksi hingga kondisi bernilai true.
Sintaks untuk loop while Bash adalah:
while [condition]
do
//execute instructions
done
Kondisi dievaluasi sebelum mengeksekusi instruksi apapun. Oleh karena itu, diperlukan sarana untuk memperbarui kondisi, jika tidak, loop akan dijalankan selamanya.
Contoh Bash While Loop
Berikut ini adalah perulangan while sederhana yang mencetak angka 1 sampai 5. Perulangan dihentikan jika angka lebih besar dari 5.
#!/bin/bash
num=1
while [ $num -le 5 ]
do
echo "$num"
let num++
done
Bash C-Style Sementara Loop
Seperti loop for, kita juga dapat menulis bash while loop dalam bahasa seperti gaya-C.
Misalnya:
#!/bin/bash
num=1
while((num <= 5))
do
echo $num
let num++
done