Hari ini kita akan belajar tentang loop sementara dalam skrip shell. Loop adalah bagian penting dari bahasa pemrograman apa pun. Saat kita menulis kode untuk mengeksekusi sekumpulan pernyataan 15 kali, menulis pernyataan yang sama berulang kali tidak akan produktif.
Loop menghemat waktu programmer.
Salah satu loop yang paling umum digunakan dalam bahasa pemrograman apa pun adalah loop while. Kami menggunakan perulangan while dalam skrip shell untuk mengulang serangkaian pernyataan selama kondisi tertentu terpenuhi setelah setiap iterasi.
Bagaimana cara kerja while loop dalam skrip shell?
Perulangan while dalam skrip shell membantu Anda membuat kode menjadi efisien dengan mengurangi jumlah kode yang perlu Anda tulis.
Ini berguna ketika Anda harus melakukan sesuatu dalam skrip Anda berulang kali. Mari kita pahami cara kerja loop sementara dalam skrip shell melalui sintaksnya:
while [ condition ] do statement 1 statement 2 done
Di sini, kami memiliki tiga kata kunci, yaitu sementara , lakukan dan selesai .
- Kata kunci pertama 'sementara' menunjukkan awal dari loop ketika kita menjalankan skrip shell.
- Diikuti oleh kondisi yang diapit tanda kurung bulat.
- Kata kunci 'do' digunakan sebelum pernyataan yang akan dieksekusi dalam perulangan.
- Setiap while loop terdiri dari kondisi yang diikuti oleh sekumpulan perintah.
- Kemudian kita menemukan kata kunci done yang menandai akhir dari perulangan.
Anggap do dan done sebagai tanda kurung buka dan tutup dalam bahasa pemrograman lain
Pertama, kondisinya dievaluasi. Jika kondisinya TRUE, pernyataan berikut lakukan akan dieksekusi. Ini berulang sampai ada titik ketika kondisi bernilai FALSE.
Setelah kondisi salah, loop akan dihentikan.
Hal penting yang perlu diingat adalah, seperti pemrograman C, skrip shell peka terhadap huruf besar-kecil. Oleh karena itu, Anda harus berhati-hati saat menggunakan kata kunci dalam kode Anda.
Jika Anda tertarik untuk mempelajari tentang pernyataan bersyarat, klik di sini untuk membaca tentang if-else dalam skrip shell.
Menggunakan while loop dalam skrip shell
Hanya membaca teori dan melirik sintaks tidak akan menguntungkan Anda sampai dan kecuali Anda dapat menggunakannya secara praktis dalam kode Anda.
Oleh karena itu, untuk pemahaman yang lebih baik tentang konsep dan aplikasi praktisnya, lihat contoh berikut.
While loop untuk mencetak 5 angka pertama
Itu selalu yang terbaik untuk memulai dengan sesuatu yang mendasar. Di sini kita akan menggunakan while loop dalam skrip shell untuk mencetak 5 bilangan asli pertama di layar kita.
Skrip sederhana ini akan berulang ketika nilai variabel 'a' kurang dari ('-lt') 5. Kondisi ini berlaku untuk angka dari 1 hingga 4, oleh karena itu, perintah akan dijalankan untuk hal yang sama.
Untuk bilangan apa pun yang lebih besar dari atau sama dengan 5, kondisinya salah. Oleh karena itu, loop akan dihentikan. Berikut adalah bagaimana kode akan ditulis.
#!/bin/sh a=1 while [ $a -lt 5 ] do echo $a ((a++)) done

Menemukan Faktorial Menggunakan Loop while di Skrip Shell
Salah satu contoh yang lebih praktis adalah menggunakan fungsionalitas loop sementara untuk menyelesaikan tugas. Mari kita cari faktorial suatu bilangan.
Kode berikut menunjukkan bagaimana kita dapat menyelesaikan tugas ini menggunakan loop while.
#!/bin/sh counter=5 factorial=1 while [ $counter -gt 0 ] do factorial=$(( $factorial * $counter )) ((counter--)) done echo $factorial

Seperti yang Anda lihat, faktorial untuk loop while dicetak dengan benar sebagai 120.
Membaca File di Script Shell Menggunakan Perulangan while
Ketika kita berurusan dengan file teks, while loop ternyata menjadi alat yang penting karena kita dapat membuat loop membaca seluruh file menggunakan sambil membaca perintah.
Perintah ini dapat membantu kita membaca isi file dari baris perintah. Kode berikut menggunakan fungsionalitas loop while dalam skrip shell untuk membaca konten file satu baris pada satu waktu, lalu mencetaknya di layar pengguna.
#!/bin/bash FILE=$1 while read line do # use $line variable to process line echo $line done < $FILE

Seperti yang Anda lihat, saya telah memberikan nama file sebagai argumen karena dalam skrip shell kami, kami telah menggunakan $1 dan menetapkannya ke variabel FILE. Ini berarti argumen pertama akan diterima sebagai nama file dan skrip akan melanjutkan untuk membaca file.
Juga, kami menggunakan operator pengalihan input dalam skrip setelah selesai sehingga kami dapat menggunakan nama file secara langsung sebagai argumen saat menjalankan skrip.
Jika Anda melewatkan bagian itu, perintah Anda akan terlihat seperti baris:
bash file.sh < filename.txt
Jadi Anda lihat, arahkan input di dalam skrip atau saat menjalankan skrip. Hasilnya sama.
Kesimpulan
Loop while dalam skrip shell adalah senjata utama di gudang senjata setiap programmer shell. Ini adalah alat terbaik untuk digunakan saat Anda perlu menjalankan serangkaian pernyataan yang diulang berdasarkan suatu kondisi.
Dengan mengotomatiskan eksekusi pernyataan tertentu, Anda tidak hanya perlu menulis lebih sedikit kode, tetapi juga membebaskan waktu yang dapat digunakan untuk tugas yang lebih penting seperti debugging.
Kami harap tutorial ini dapat membantu Anda memahami cara menggunakan fungsi while loop. Jika Anda memiliki pertanyaan, umpan balik, atau saran, jangan ragu untuk menghubungi kami di komentar di bawah.