GNU/Linux >> Belajar Linux >  >> Linux

Bash melanjutkan:Cara Melanjutkan Loop

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 while dan until loop.

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 for kondisi loop, mengulangi variabel i dari 1 ke 10 .
  • Baris 5 memeriksa i nilai. Ketika variabel sama dengan 9 , 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 i dari 1 ke 5 .
  • Baris 5 memulai loop for dalam, menambah variabel j dari 1 ke 5 untuk setiap i peningkatan.
  • Baris 7 memeriksa apakah variabel i dan j sama ($i -eq $j ). Jika ya, continue 2 pernyataan 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 i dan menyetel nilainya ke 0 .
  • Baris 5 memulai while lingkaran. Kondisi akhirnya adalah ketika i kurang dari 11 .
  • Baris 7 menyatakan pemeriksaan kondisi menggunakan if penyataan. Ketika variabel i sama dengan 9 , program melanjutkan ke baris 9-11 . Dalam semua kasus lain, kode melompat ke baris 13 .
  • Baris 9-11 cetak pesan ke konsol, tambahkan i , dan continue pernyataan melanjutkan perulangan pada baris 5 .
  • Baris 13 dan 14 cetak variabel i ke 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:

  • PS3 pada baris 3 adalah tampilan pesan untuk select lingkaran.
  • Baris 5 mendefinisikan kondisi loop, mencantumkan nomor dari 1 ke 10 . Variabel i menyimpan masukan pengguna.
  • Baris 7 menggemakan pemilihan.
  • Baris 8 melakukan pemeriksaan. Jika nilai input pengguna adalah 9 , program mencetak pesan ke konsol dan melanjutkan select loop pada iterasi berikutnya.

Jalankan skrip dan uji nilai yang berbeda untuk melihat hasilnya.

Untuk keluar dari program, tekan CTRL +C atau tambahkan pernyataan break.


Linux
  1. Cara menulis loop di Bash

  2. Bagaimana Cara Men-debug Skrip Bash?

  3. Bagaimana Menghentikan Skrip Loop Bash Di Terminal?

  1. Bagaimana Cara Mendeteksi Bash>=4.0?

  2. Cetak output dari pernyataan cat dalam loop skrip bash

  3. Cara mendapatkan status keluar satu lingkaran di bash

  1. Cara Berkomentar di Bash

  2. Cara Menggunakan if else Conditionals Statement di Bash Script

  3. Bagaimana Cara Melanjutkan Sesi Gnome?