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, danuntilloop. selectperintah.
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
ike0. - Baris 5 memulai
whilelingkaran. Kondisi akhir adalah ketika variabel kurang dari sebelas ($i -lt 11). - Baris 7 melakukan pemeriksaan menggunakan
ifpenyataan. Ketika variabel sama dengan dua ("$i" == 2), program keluar dariwhileloop menggunakanbreakBas 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.
selectpernyataan mencetak pesan ini setelah mendaftar semua opsi dan setelah setiap tebakan yang salah. - Baris 5 memulai
selectpernyataan dan mendefinisikan opsi sebagai angka1ke10. - 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.