Android

Kenyataan kes Bash

Shell Ninja: Mastering the Art of Shell Scripting | Roland Huß

Shell Ninja: Mastering the Art of Shell Scripting | Roland Huß

Isi kandungan:

Anonim

Penyataan kes Bash biasanya digunakan untuk mempermudah keadaan yang rumit apabila anda mempunyai pelbagai pilihan yang berbeza. Menggunakan pernyataan kes bukannya bersarang jika pernyataan akan membantu anda membuat skrip bash anda lebih mudah dibaca dan mudah dijaga.

Kenyataan kes Bash mempunyai konsep yang serupa dengan kenyataan suis Javascript atau C. Perbezaan utama adalah bahawa tidak seperti pernyataan suis C pernyataan kes Bash tidak terus mencari padanan corak sebaik sahaja ia telah menemui satu dan kenyataan yang dilaksanakan yang berkaitan dengan pola itu.

Dalam tutorial ini, kami akan merangkumi asas-asas pernyataan kes Bash dan menunjukkan kepada anda cara menggunakannya dalam skrip shell anda.

Sintaks Penyataan Kes

Kenyataan kes Bash mengambil borang berikut:

case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac

  • Setiap pernyataan kes bermula dengan kata kunci case diikuti dengan ungkapan kes dan in kata kunci. Kenyataan itu berakhir dengan kata kunci esac boleh menggunakan banyak corak yang dipisahkan oleh | pengendali. The ) pengendali menamatkan corak list.A corak boleh mempunyai aksara khas.A corak dan perintah yang berkaitan dikenali sebagai klausa.Setiap fasal mesti ditamatkan dengan ;; Perintah yang sepadan dengan corak pertama yang sepadan dengan ungkapan dieksekusi.Ia adalah amalan biasa untuk menggunakan simbol asterisk wildcard ( * ) sebagai corak akhir untuk menentukan kes lalai. Corak ini akan sentiasa sepadan. Jika tiada corak yang sepadan dengan status pulangan adalah sifar. Jika tidak, status pulangan adalah status keluar perintah yang dilaksanakan.

Contoh Penyata Kes

Berikut ialah contoh menggunakan pernyataan kes dalam skrip bash yang akan mencetak bahasa rasmi sesuatu negara:

languages.sh

#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac

Simpan skrip tersuai sebagai fail dan jalankannya dari baris arahan.

bash languages.sh

Skrip akan meminta anda memasuki negara. Sebagai contoh, jika anda menaip "Lithuania" ia akan sepadan dengan pola pertama dan perintah echo dalam fasal itu akan dilaksanakan.

Skrip akan mencetak output berikut:

Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian

Enter the name of a country: Argentina The official language of Argentina is unknown

Kesimpulannya

Sekarang anda harus mempunyai pemahaman yang baik mengenai cara menulis penyataan kes bash. Mereka sering digunakan untuk lulus parameter ke skrip shell dari baris arahan. Sebagai contoh, skrip init menggunakan kenyataan kes untuk memulakan, menghentikan atau memulakan semula perkhidmatan.

terminal bash