Unix / Linux - Shell Loops: A Beginner's Guide

Hai, para pemula pemrogram! Hari ini, kita akan melihat dunia yang menarik dari loop shell di Unix dan Linux. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya - saya akan memandu Anda langkah demi langkah, seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. Mari kita mulai!

Unix / Linux - Shell Loops

Apa Itu Shell Loops?

Bayangkan Anda di sebuah pesta, dan Anda perlu menyapa setiap tamu. Daripada menulis pesan "Hello" terpisah untuk setiap orang, tidakkah Anda senang jika Anda dapat mengatakan, "Ulangi 'Hello' untuk setiap tamu"? Itu tepatnya apa yang dilakukan loop dalam pemrograman - mereka memungkinkan kita untuk mengulangi sebuah set instruksi beberapa kali.

Dalam skrip shell, loop sangat berguna untuk otomatisasi tugas yang berulang. Mereka dapat menyimpan waktu Anda dan mengurangi kesempatan kesalahan yang mungkin terjadi jika Anda mengulangi perintah secara manual.

Jenis Shell Loops

Dalam skrip shell Unix/Linux, kita utamakan tiga jenis loop:

Jenis Loop Deskripsi Kasus Penggunaan
for loop Mengulang terhadap daftar item Ketika Anda tahu jumlah iterasi yang tepat
while loop Terus berlanjut selama kondisi benar Ketika Anda tidak tahu berapa banyak iterasi diperlukan
until loop Terus berlanjut sampai kondisi menjadi benar Mirip dengan while, tetapi dengan logika terbalik

Mari kita jelajahi setiap jenis ini secara detil.

Loop 'for'

Loop 'for' mirip dengan tukang pos yang rajin yang memberikan pesan ke setiap rumah di jalan. Itu mengulang melalui daftar item dan melakukan aksi untuk setiap item.

Ini adalah sintaks dasar:

for variable in list
do
commands
done

mari lihat contoh sederhana:

#!/bin/bash
for fruit in apple banana orange
do
echo "Saya sukai $fruit"
done

Jika Anda menjalankan skrip ini, Anda akan melihat:

Saya sukai apple
Saya sukai banana
Saya sukai orange

Dalam contoh ini, 'tukang pos' kita (loop) memberikan pesan "Saya sukai" ke setiap 'rumah' (buah) di 'jalan' (daftar buah).

Loop 'while'

Loop 'while' mirip dengan penjual yang tak kenal lelah yang terus mengknock pada pintu Anda selama Anda belum membeli produk mereka. Itu terus menjalankan set instruksi selama suatu kondisi benar.

Ini adalah sintaks dasar:

while [ condition ]
do
commands
done

mari lihat contoh:

#!/bin/bash
count=1
while [ $count -le 5 ]
do
echo "Count is: $count"
count=$((count + 1))
done

Skrip ini akan mengeluarkan:

Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5

Dalam kasus ini, 'penjual' kita (loop) terus 'knock' (mencetak angka) sampai angka mencapai 5.

Loop 'until'

Loop 'until' mirip dengan menunggu bis. Anda terus menunggu sampai bis tiba. Itu terus menjalankan perintah sampai suatu kondisi menjadi benar.

Ini adalah sintaks dasar:

until [ condition ]
do
commands
done

mari lihat contoh:

#!/bin/bash
count=1
until [ $count -gt 5 ]
do
echo "Count is: $count"
count=$((count + 1))
done

Skrip ini akan menghasilkan output yang sama seperti contoh loop 'while'. Perbedaannya adalah dalam logika: kita teruskan sampai angka lebih besar dari 5, bukan ketika ia kurang dari atau sama dengan 5.

Loop Bersarang

Seperti Anda dapat memiliki ruangan dalam ruangan (bayangkan lemari dalam ruangan), Anda juga dapat memiliki loop dalam loop. Ini disebut loop bersarang.

mari lihat contoh loop bersarang for:

#!/bin/bash
for i in 1 2 3
do
echo "Loop luar: $i"
for j in a b c
do
echo "  Loop dalam: $j"
done
done

Skrip ini akan mengeluarkan:

Loop luar: 1
Loop dalam: a
Loop dalam: b
Loop dalam: c
Loop luar: 2
Loop dalam: a
Loop dalam: b
Loop dalam: c
Loop luar: 3
Loop dalam: a
Loop dalam: b
Loop dalam: c

Pertimbangkan ini seperti gedung apartemen multi-lantai. Loop luar mengulang setiap lantai, dan untuk setiap lantai, loop dalam mengulang setiap apartemen.

Loop Bersarang while

Kami juga dapat mensarangkan loop while. mari lihat contoh:

#!/bin/bash
i=1
while [ $i -le 3 ]
do
echo "Loop luar: $i"
j=1
while [ $j -le 3 ]
do
echo "  Loop dalam: $j"
j=$((j + 1))
done
i=$((i + 1))
done

Skrip ini akan menghasilkan output yang mirip dengan contoh loop bersarang for.

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertama ke dalam dunia loop shell. Ingat, loop adalah seperti robot yang membantu yang dapat mengulangi tugas untuk Anda. Loop 'for' sangat baik saat Anda tahu secara tepat berapa kali Anda ingin mengulangi sesuatu. Loop 'while' dan 'until' sempurna saat Anda tidak yakin dan perlu terus menerus sampai suatu kondisi terpenuhi.

Saat Anda terus melanjutkan perjalanan pemrograman Anda, Anda akan menemukan loop adalah alat yang tak ternilai dalam kotak alat pemrograman Anda. Mereka akan membantu Anda otomatisasi tugas yang berulang, memproses jumlah besar data, dan menciptakan skrip yang lebih efisien dan elegan.

Tetap latihan, dan segera Anda akan dapat mengulang seperti seorang ahli! Ingat, setiap pemrogram master mulai tepat di tempat Anda sekarang. Selamat coding!

Credits: Image by storyset