GNU/Linux >> Belajar Linux >  >> Linux

Bash break:Cara Keluar Dari Loop

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, dan until 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 ke 0 .
  • 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 dari while loop menggunakan break 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 angka 1 ke 10 .
  • 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.


Linux
  1. Cara menulis loop di Bash

  2. Bagaimana Menghentikan Skrip Loop Bash Di Terminal?

  3. Cara memberi makan kueri mysql dari bash

  1. Cara Menghapus Perintah Tertentu Dari Riwayat Bash Di Linux

  2. Bagaimana saya bisa mendapatkan nilai unik dari array di Bash?

  3. Cara mendapatkan status keluar satu lingkaran di bash

  1. Bagaimana Mengenalinya Jika Saya Dalam Sesi Tmux Dari Skrip Bash?

  2. Bash + Bagaimana Cara Keluar Dari Skrip Sekunder Dan Dari Skrip Utama Pada Kedua Kalinya?

  3. Bagaimana Bash Mengevaluasi Kode Berikut?