Pendahuluan
Dalam skrip Bash, break
pernyataan membantu memberikan kontrol di dalam pernyataan loop. Alih-alih menunggu sampai kondisi akhir, break
pernyataan membantu keluar dari loop sebelum kondisi akhir terjadi.
Pernyataan loop kontrol (break
dan lanjutkan) gabungkan secara logis dengan pernyataan kondisional seperti if elif else untuk membuat situasi khusus di dalam perulangan.
Tutorial ini mengajarkan Anda cara menggunakan break
pernyataan secara efisien dalam loop skrip Bash.
Prasyarat
- Mesin yang menjalankan macOS atau Linux.
- Dasar-dasar skrip Bash (seperti menulis dan menjalankan skrip).
- Editor teks untuk menulis contoh skrip Bash, seperti nano.
Pernyataan Istirahat Bash
break
pernyataan mengakhiri iterasi loop saat ini dan keluar dari loop. Saat digabungkan dengan suatu kondisi, break
membantu menyediakan metode untuk keluar dari loop sebelum kasus akhir terjadi.
Bash break
pernyataan selalu berlaku untuk loop.
Sintaksnya adalah:
break <integer>
Nilai integer adalah opsional, dan ini adalah 1
secara default. Angka tersebut menentukan kedalaman break
untuk loop bersarang. Oleh karena itu, untuk memutuskan dari loop for bersarang, gunakan break 2
.
Contoh Istirahat Bash
Contoh di bawah ini menunjukkan cara keluar dari jenis loop yang berbeda menggunakan break
penyataan. Contohnya meliputi:
- Standar
while
, untuk, danuntil
loop. select
perintah.
Setiap contoh skrip Bash di bawah ini dilengkapi dengan penjelasan.
Berhenti sejenak dari Loop
Gunakan break
pernyataan untuk keluar dari while
loop ketika kondisi tertentu terwujud. Skrip berikut menggunakan break
di dalam while
lingkaran:
#!/bin/bash
i=0
while [[ $i -lt 11 ]]
do
if [[ "$i" == '2' ]]
then
echo "Number $i!"
break
fi
echo $i
((i++))
done
echo "Done!"
Setiap baris dalam skrip melakukan hal berikut:
- Baris 3 mendefinisikan dan menetapkan variabel
i
ke0
. - Baris 5 memulai
while
lingkaran. Kondisi akhir adalah ketika variabel kurang dari sebelas ($i -lt 11
). - Baris 7 melakukan pemeriksaan menggunakan
if
penyataan. Ketika variabel sama dengan dua ("$i" == 2
), program keluar dariwhile
loop menggunakanbreak
Bas Bash pernyataan di baris 10 . Dalam hal ini, kode melompat ke baris 16 . Jika variabelnya adalah angka yang berbeda, skrip berlanjut seperti yang diharapkan pada baris 12 .
Jalankan script untuk melihat hasilnya.
Program ini mencantumkan angka hingga 2
dan keluar dari skrip.
Menggunakan break Inside untuk Loops
Sebuah for
loop menambahkan variabel secara otomatis. Untuk menambahkan pernyataan bersyarat dan keluar dari for
loop lebih awal, gunakan break
penyataan. Kode berikut menunjukkan contoh penggunaan break
dalam for
lingkaran:
#!/bin/bash
for i in {1..10}
do
if [[ $i == '2' ]]
then
echo "Number $i!"
break
fi
echo "$i"
done
echo "Done!"
Ketika nilai integer sama dengan dua ($i == '2'
), program akan mencetak pesan dan keluar dari for
loop berkat break
pernyataan.
Akibatnya, menjalankan skrip mengakhiri program ketika variabel i
mencapai dua dan melompat ke baris kode terakhir.
Mendobrak dari satu putaran hingga Perulangan
Bash until
loop adalah salah satu dari tiga konstruksi loop dasar. Tambahkan break
pernyataan untuk mengontrol aliran program dan keluar dari loop dalam kondisi yang berbeda.
Di bawah ini adalah contoh programnya:
#!/bin/bash
i=0
until [[ $i -gt 10 ]]
do
if [[ $i -eq 2 ]]
then
echo "Number $i!"
break
fi
echo $i
((i++))
done
echo "Done!"
Meskipun until
loop berisi kondisi akhir ($i -gt 10
), badan loop berisi kondisi lain ($i -eq 2
). Karena kondisi kedua terjadi sebelum yang pertama, program memasuki if
isi pernyataan, yang berisi pernyataan istirahat Bash untuk keluar dari perulangan.
Menjalankan skrip menunjukkan bahwa program berakhir ketika variabel i
mencapai nilai 2
.
Menggunakan break Di dalam Loop pilihan
select
perintah membuat menu dan berperilaku seperti loop tak terbatas, meskipun itu bukan salah satu konstruksi loop utama. Untuk keluar dari select
pernyataan dengan elegan, buat kasus di mana program berakhir dan gunakan break
untuk keluar dari loop.
Kode di bawah ini menunjukkan permainan tebak angka tekstual menggunakan select
pernyataan:
#!/bin/bash/
PS3="Guess my favorite number: "
select i in {1..10}
do
echo "Selected number: $i"
if [[ $REPLY -eq 2 ]]
then
echo "Correct! $i is my favorite. Thanks for playing!"
break
fi
echo "Not my favorite. Try again!"
done
Kode melakukan hal berikut:
- Baris 3 menampilkan pesan instruksional.
select
pernyataan mencetak pesan ini setelah mendaftar semua opsi dan setelah setiap tebakan yang salah. - Baris 5 memulai
select
pernyataan dan mendefinisikan opsi sebagai angka1
ke10
. - Baris 8 memeriksa apakah nomor yang dipilih sama dengan
2
, yang merupakan tebakan yang benar. Jika pemeriksaan lolos, pernyataan istirahat Bash membantu keluar dari loop dan mengakhiri permainan.
Jalankan script untuk memainkan permainan tebak angka.
Masukkan nilai yang berbeda untuk melihat hasilnya.
Untuk mengembangkan skrip lebih lanjut, coba tambahkan elif
pernyataan untuk memeriksa input di luar jangkauan atau mengubahnya menjadi pernyataan kasus untuk mempertimbangkan berbagai situasi input.