Pendahuluan
continue pernyataan adalah Bash builtin yang mengubah aliran loop skrip. Konsepnya tidak unik untuk Bash dan muncul dalam bahasa pemrograman lain.
Cara terbaik untuk memahami bagaimana Bash continue kerja pernyataan adalah melalui contoh langsung.
Tutorial ini menunjukkan cara menggunakan Bash continue pernyataan dalam skrip Bash.
Prasyarat
- Mesin yang menjalankan Linux atau macOS.
- Editor teks untuk contoh.
- Pengetahuan dasar tentang skrip Bash.
Pernyataan lanjutan Bash
Bash continue pernyataan melanjutkan iterasi berikut dalam pernyataan perulangan atau perulangan.
Sintaksnya adalah:
continue <integer>
continue pernyataan hanya memiliki arti ketika diterapkan pada loop. Nilai integer menunjukkan kedalaman untuk continue penyataan. Secara default, bilangan bulatnya adalah 1 dan penulisan nomor tidak wajib. Tambah jumlah untuk melanjutkan pernyataan loop luar.
Gunakan continue pernyataan sebagai pernyataan kontrol loop. Misalnya, continue pernyataan membantu mengakhiri iterasi saat ini di dalam loop saat memenuhi kondisi tertentu. Bergantung pada jenis loop, program dilanjutkan pada iterasi berikutnya atau memulai ulang loop.
Contoh lanjutan Bash
Di bawah ini adalah contoh dan penjelasan bekerja dengan pernyataan continue dalam skrip Bash.
Konstruksi loop utama berikut menunjukkan cara kerja pernyataan:
- Perulangan for berlanjut pada iterasi berikutnya bila digabungkan dengan continue.
- Pernyataan lanjutkan memulai ulang
whiledanuntilloop.
select perintah juga muncul dalam contoh, meskipun itu bukan konstruksi loop utama. Pernyataan berfungsi sebagai loop, dan continue pernyataan berfungsi untuk semua perintah perulangan.
Menggunakan Bash Lanjutkan dengan for for Loop
Gunakan continue pernyataan di dalam conditional if untuk mengontrol aliran for :
#!/bin/bash
for i in {1..10}
do
if [[ $i == '9' ]]
then
echo "Number $i!"
continue
fi
echo "$i"
done
echo "Done!"
Kode melakukan hal berikut:
- Baris 3 memulai
forkondisi loop, mengulangi variabelidari1ke10. - Baris 5 memeriksa
inilai. Ketika variabel sama dengan9, program menggemakan pesan dan memulai ulang loop pada iterasi berikutnya (baris 3 ). - Baris 10 mencetak nomor ke konsol hanya ketika pernyataan bersyarat di baris 5 adalah Salah .
Jalankan skrip untuk melihat hasilnya.
Output mencetak semua nomor individu ke konsol. Ketika kondisi pada baris 5 bernilai Benar ($i == '9' ), konsol menggemakan pesan.
Menggunakan Bash Lanjutkan dengan Nested Loop
continue pernyataan bekerja dengan perulangan bersarang demikian juga. Misalnya, gunakan continue 2 untuk melanjutkan loop luar:
#!/bin/bash
for i in {1..5}
do
for j in {1..5}
do
if [[ $i -eq $j ]]
then
echo "$i = $j"
continue 2
fi
echo "$i =/= $j"
done
done
echo "Done!"
Program melakukan hal berikut:
- Baris 3 memulai loop luar, menambah variabel
idari1ke5. - Baris 5 memulai loop for dalam, menambah variabel
jdari1ke5untuk setiapipeningkatan. - Baris 7 memeriksa apakah variabel
idanjsama ($i -eq $j). Jika ya,continue 2pernyataan melanjutkan loop luar pada iterasi berikutnya. Namun, jika nilainya berbeda, program tetap berjalan seperti yang diharapkan.
Jalankan skrip untuk melihat output program.
Setiap kali kedua nilai sama, angka pertama bertambah.
Menggunakan Bash Lanjutkan dengan Loop sementara
Di bawah ini adalah contoh skrip Bash yang menggunakan <strong>continue</strong> pernyataan dalam while lingkaran:
#!/bin/bash
i=0
while [[ $i -lt 11 ]]
do
if [[ "$i" == '9' ]]
then
echo "Number $i!"
((i++))
continue
fi
echo $i
((i++))
done
Setiap baris melakukan hal berikut:
- Baris 3 mendefinisikan variabel
idan menyetel nilainya ke0. - Baris 5 memulai
whilelingkaran. Kondisi akhirnya adalah ketikaikurang dari11. - Baris 7 menyatakan pemeriksaan kondisi menggunakan
ifpenyataan. Ketika variabelisama dengan9, program melanjutkan ke baris 9-11 . Dalam semua kasus lain, kode melompat ke baris 13 . - Baris 9-11 cetak pesan ke konsol, tambahkan
i, dancontinuepernyataan melanjutkan perulangan pada baris 5 . - Baris 13 dan 14 cetak variabel
ike konsol dan tingkatkan.
Untuk melihat hasilnya, jalankan skrip dari terminal.
Program mencetak semua nomor ke konsol. Karena pernyataan kondisional dan lanjutkan, pesan yang berbeda dicetak untuk nomor 9 .
Menggunakan Bash Lanjutkan dengan pengulangan hingga
Gabungkan continue pernyataan dengan until loop dan memberikan kondisi untuk mengubah perilaku loop untuk nilai tertentu. Misalnya, coba skrip berikut:
#!/bin/bash
i=0
until [[ $i -gt 10 ]]
do
if [[ $i -eq 9 ]]
then
echo "Number $i!"
((i++))
continue
fi
echo $i
((i++))
done
Kode menambah variabel dan mengulang hingga nilainya mencapai 10 . Ketika variabel sama dengan 9 , program mengeluarkan pesan yang berbeda. continue pernyataan memulai ulang until loop dan berlanjut seperti biasa.
Menggunakan Bash Lanjutkan dengan Loop pilihan
select perintah adalah kasus tertentu karena ini bukan loop skrip Bash utama. Perintah membuat menu yang membutuhkan input pengguna. Gunakan continue pernyataan untuk memberikan output yang berbeda berdasarkan nilai yang dipilih pengguna.
Sebagai contoh, coba skrip Bash berikut:
#!/bin/bash
PS3="Choose a number: "
select i in {1..10}
do
echo "Selected number: $i"
if [[ $REPLY -eq 9 ]]
then
echo "Number $i!"
continue
fi
done
Script terdiri dari elemen-elemen berikut:
PS3pada baris 3 adalah tampilan pesan untukselectlingkaran.- Baris 5 mendefinisikan kondisi loop, mencantumkan nomor dari
1ke10. Variabelimenyimpan masukan pengguna. - Baris 7 menggemakan pemilihan.
- Baris 8 melakukan pemeriksaan. Jika nilai input pengguna adalah
9, program mencetak pesan ke konsol dan melanjutkanselectloop pada iterasi berikutnya.
Jalankan skrip dan uji nilai yang berbeda untuk melihat hasilnya.
Untuk keluar dari program, tekan CTRL +C atau tambahkan pernyataan break.