Menguasai aliran kawalan bash dengan rehat dan teruskan

Menguasai aliran kawalan bash dengan rehat dan teruskan

Bash adalah bahasa skrip yang kuat yang biasa digunakan untuk tugas -tugas pentadbiran automasi dan sistem. Salah satu konsep yang paling penting dalam skrip bash adalah aliran kawalan, yang merujuk kepada cara di mana skrip melaksanakan arahan yang berbeza berdasarkan pelbagai syarat. Dua penyata aliran kawalan utama dalam bash pecah dan teruskan, yang dapat membantu anda mengawal pelaksanaan kod anda dan menjadikannya lebih efisien.

Apa yang pecah dan teruskan di bash?

Break and Continue adalah dua pernyataan aliran kawalan bash yang boleh digunakan untuk mengubah aliran gelung atau penyataan suis. Mereka membolehkan anda keluar dari gelung atau melangkau lelaran tertentu berdasarkan keadaan tertentu.

Berikut adalah gambaran ringkas tentang bagaimana rehat dan teruskan bekerja di Bash:

  • rehat: Apabila digunakan di dalam pernyataan gelung atau suis, rehat akan segera keluar dari pernyataan gelung atau suis dan terus melaksanakan skrip dari arahan seterusnya selepas pernyataan gelung atau suis.
  • Teruskan: Apabila digunakan di dalam gelung, teruskan akan melangkau lelaran semasa dan beralih ke lelaran seterusnya. Dengan kata lain, ia membolehkan anda melangkau lelaran tertentu berdasarkan keadaan tertentu.
  • Kedua -duanya Break and Continue dapat berguna untuk meningkatkan kecekapan skrip bash anda, kerana ia membolehkan anda mengawal pelaksanaan kod anda dan elakkan lelaran yang tidak perlu.

    Menggunakan rehat di bash

    Mari mulakan dengan melihat cara menggunakan rehat di bash. Break biasanya digunakan dalam gelung dan menukar pernyataan untuk segera keluar dari gelung atau suis pernyataan apabila keadaan tertentu dipenuhi.

    Inilah contoh cara menggunakan rehat dalam gelung:

    #!/bin/bash untuk saya dalam 1 ... 10 lakukan jika [$ i -eq 5] kemudian break fi echo $ i done echo "loop lengkap"
    12345678910111213#!/bin/bash untuk i dalam 1 ... 10 lakukan jika [$ i -eq 5] kemudian break fi echo $ idone echo "loop lengkap"

    Dalam contoh ini, kita mempunyai gelung yang akan melelehkan nilai i dari 1 hingga 10. Walau bagaimanapun, kami telah menambah pernyataan jika memeriksa sama ada saya sama dengan 5. Sekiranya saya sama dengan 5, kami akan menggunakan pernyataan rehat untuk segera keluar dari gelung.

    Jika kita menjalankan skrip ini, kita akan melihat output berikut:

    Output 1 2 3 4 Loop Lengkap 

    Seperti yang anda lihat, gelung hanya berulang sehingga 4 sebelum keluar kerana pernyataan rehat.

    Menggunakan terus di bash

    Seterusnya, mari kita lihat cara menggunakan terus di bash. Teruskan digunakan dalam gelung untuk melangkau lelaran tertentu berdasarkan keadaan tertentu.

    Inilah contoh cara menggunakan terus dalam gelung:

    #!/bin/bash untuk i dalam 1 ... 10 lakukan jika [$ i -eq 5] kemudian teruskan fi echo $ i yang selesai echo "loop lengkap"
    12345678910111213#!/bin/bash untuk i dalam 1 ... 10 lakukan jika [$ i -eq 5] kemudian teruskan fi echo $ idone echo "loop lengkap"

    Dalam contoh ini, kita mempunyai gelung yang akan melelehkan nilai i dari 1 hingga 10. Walau bagaimanapun, kami telah menambah pernyataan jika memeriksa sama ada saya sama dengan 5. Sekiranya saya sama dengan 5, kami akan menggunakan pernyataan Teruskan untuk melangkau lelaran itu dan beralih ke lelaran seterusnya.

    Jika kita menjalankan skrip ini, kita akan melihat output berikut:

    Output 1 2 3 4 6 7 8 9 10 Gelung Lengkap 

    Seperti yang anda lihat, gelung melangkau lelaran di mana 'i' sama dengan 5 dan diteruskan dengan selebihnya lelaran.

    Menggunakan rehat dan teruskan dalam penyataan suis

    Sebagai tambahan kepada gelung, Break and Continue juga boleh digunakan dalam penyataan suis di Bash.

    Berikut adalah contoh cara menggunakan rehat dalam pernyataan suis:

    #!/bin/bash kes $ 1 dalam permulaan) echo "Service starting" ;; berhenti) echo "menghentikan perkhidmatan" ;; mulakan semula) echo "memulakan semula perkhidmatan" ;; *) echo "pilihan tidak sah" break ;; ESAC echo "Penyataan suis lengkap"
    12345678910111213141516171819202122#!/bin/bash kes $ 1 dalam permulaan) echo "Service starting" ;; berhenti) echo "menghentikan perkhidmatan" ;; mulakan semula) echo "memulakan semula perkhidmatan" ;; *) echo "Opsyen Tidak Sah" Break ;; ESAC Echo "Switch Catatan Lengkap"

    Dalam contoh ini, kami mempunyai pernyataan suis yang akan memeriksa nilai hujah baris arahan pertama ($ 1). Jika $ 1 bersamaan dengan "Mula", "Berhenti", atau "Mulakan semula", ia akan melaksanakan perintah yang sepadan. Sekiranya $ 1 tidak sama dengan mana -mana nilai ini, ia akan mengeluarkan mesej ralat dan menggunakan pernyataan rehat untuk keluar dari pernyataan suis.

    Sekiranya kita menjalankan skrip ini dengan arahan ./MyScript.SH tidak sah, kita akan melihat output berikut:

    Kenyataan suis pilihan tidak sah lengkap lengkap 

    Seperti yang anda lihat, skrip mengeluarkan mesej ralat dan kemudian keluar dari pernyataan suis menggunakan pernyataan rehat.

    Berikut adalah contoh cara menggunakan terus dalam pernyataan suis:

    #!/bin/bash kes $ 1 dalam permulaan) echo "Service starting" ;; berhenti) echo "menghentikan perkhidmatan" ;; mulakan semula) echo "memulakan semula perkhidmatan" ;; *) teruskan ;; ESAC echo "Penyataan suis lengkap"
    123456789101112131415161718192021#!/bin/bash kes $ 1 dalam permulaan) echo "Service starting" ;; berhenti) echo "menghentikan perkhidmatan" ;; mulakan semula) echo "memulakan semula perkhidmatan" ;; *) teruskan ;; ESAC echo "Pernyataan suis lengkap"

    Dalam contoh ini, kami telah mengubahsuai skrip sebelumnya untuk menggunakan pernyataan Teruskan dan bukannya Break. Sekiranya $ 1 tidak sama dengan mana -mana nilai yang diharapkan, skrip hanya akan melangkaui penyata suis itu dan beralih ke lelaran seterusnya.

    Sekiranya kita menjalankan skrip ini dengan arahan ./MyScript.SH tidak sah, kita akan melihat output berikut:

    Penyata suis output lengkap 

    Seperti yang anda lihat, skrip hanya melangkau lelaran di mana $ 1 tidak sah dan diteruskan dengan skrip selebihnya.

    Kesimpulan

    Dalam tutorial ini, kami telah meliputi asas -asas menggunakan rehat dan teruskan dalam skrip bash. Kenyataan ini adalah alat yang berkuasa untuk mengawal pelaksanaan kod anda dan meningkatkan kecekapan skrip anda. Dengan menggunakan rehat dan terus berkesan, anda boleh membuat skrip bash yang lebih mantap dan cekap yang dapat mengendalikan pelbagai tugas dan senario.