While 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 while loop di Bash. Kami juga akan menunjukkan kepada Anda bagaimana menggunakan pernyataan break dan continue untuk mengubah aliran loop.
#Bash Standar While Loop
While loop digunakan untuk melakukan serangkaian perintah tertentu dengan jumlah yang tidak diketahui selama kondisi yang diberikan bernilai true.
Bash while loop mengambil bentuk berikut:
Pernyataan while dimulai dengan kata kunci while, diikuti dengan ekspresi kondisional.
Kondisi dievaluasi sebelum menjalankan perintah. Jika kondisi bernilai true, perintah akan dijalankan. Sebaliknya, jika kondisi bernilai false, loop dihentikan, dan kontrol program akan diteruskan ke perintah berikut.
Pada contoh di bawah ini, pada setiap iterasi, nilai saat ini dari variabel i dicetak dan bertambah satu.
#Bash Standar While Loop
While loop digunakan untuk melakukan serangkaian perintah tertentu dengan jumlah yang tidak diketahui selama kondisi yang diberikan bernilai true.
Bash while loop mengambil bentuk berikut:
while [KONDISI]
do
[PERINTAH]
done
Pernyataan while dimulai dengan kata kunci while, diikuti dengan ekspresi kondisional.
Kondisi dievaluasi sebelum menjalankan perintah. Jika kondisi bernilai true, perintah akan dijalankan. Sebaliknya, jika kondisi bernilai false, loop dihentikan, dan kontrol program akan diteruskan ke perintah berikut.
Pada contoh di bawah ini, pada setiap iterasi, nilai saat ini dari variabel i dicetak dan bertambah satu.
i=0
while [ $i -le 2 ]
do
echo Angka: $i
((i++))
done
Perulangan berulang selama i kurang atau sama dari dua. Ini akan menghasilkan keluaran sebagai berikut
Angka: 0Angka: 1Angka: 2
#Infinite while Loop
Infinite Loop adalah perulangan yang berulang tanpa batas dan tidak pernah berakhir. Jika kondisi selalu bernilai true, Anda mendapatkan loop tak terbatas.
Dalam contoh berikut, kita menggunakan perintah built-in: untuk membuat loop tak terbatas. : selalu mengembalikan nilai true. Anda juga dapat menggunakan true built-in atau pernyataan lain yang selalu mengembalikan true.
while :doecho "Tekan <CTRL+C> Untuk Keluar."sleep 1done
Perulangan while di atas akan berjalan tanpa batas. Anda dapat menghentikan loop dengan menekan CTRL + C.
#Membaca File Baris Demi Baris
Salah satu penggunaan yang paling umum dari while loop adalah untuk membaca file, aliran data, atau variabel baris demi baris.
Berikut adalah contoh yang membaca file /etc/passwd baris demi baris dan mencetak setiap baris:
file=/etc/passwdwhile read -r line; doecho $linedone < "$file"
Alih-alih mengontrol loop sementara dengan kondisi, Kita menggunakan pengalihan input (<"$ file") untuk meneruskan file ke perintah baca, yang mengontrol loop. Perulangan while akan berjalan sampai baris terakhir dibaca.
Saat membaca file baris demi baris, selalu gunakan read dengan opsi -r untuk mencegah backslash bertindak sebagai karakter escape.
Secara default, perintah baca memotong karakter spasi kosong di depan / di belakang (spasi dan tab). Gunakan opsi IFS = sebelum membaca untuk mencegah perilaku ini
file=/etc/passwdwhile IFS= read -r line; doecho $linedone < "$file"
#break and continue Statements
Pernyataan break dan continue dapat digunakan untuk mengontrol eksekusi while loop.
break Statement
Pernyataan break mengakhiri loop saat ini dan meneruskan kontrol program ke perintah yang mengikuti loop yang diakhiri. Biasanya digunakan untuk menghentikan loop ketika kondisi tertentu terpenuhi.
Dalam contoh berikut, eksekusi loop akan terputus setelah item iterasi saat ini sama dengan 2
i=0while [ $i -lt 5 ]doecho "Angka: $i"((i++))if [[ "$i" == '2' ]]; thenbreakfidoneecho 'Semua Selesai!'
Maka Outputnya Adalah :
Angka: 0Angka: 1Semua Selesai!
continue Statement
Pernyataan continue keluar dari iterasi loop saat ini dan meneruskan kontrol program ke iterasi loop berikutnya.
Berikut di bawah ini, setelah item iterasi saat ini sama dengan 2 pernyataan lanjutkan akan menyebabkan eksekusi kembali ke awal loop dan melanjutkan ke iterasi berikutnya.
i=0while [ $i -lt 5 ]do((i++))if [[ "$i" == '2' ]]; thencontinuefiecho "Angka: $i"doneecho 'Semua Selesai!'
Maka Outputnya Adalah :
Angka: 1Angka: 3Angka: 4Angka: 5Semua Selesai!
Kesimpulan
While loop berulang kali mengeksekusi serangkaian perintah tertentu selama kondisinya benar.
Referensi https://linuxize.com/
![Click here to Download](https://3.bp.blogspot.com/-lEuKeL83lBM/UDyf0fPjhqI/AAAAAAAAAPY/p4AmHHCMUnI/s200/download_button_animated.gif)