case
ba bash pernyataan umumnya digunakan untuk menyederhanakan kondisi kompleks ketika Anda memiliki beberapa pilihan yang berbeda. Menggunakan case
pernyataan alih-alih if
. bersarang pernyataan akan membantu Anda membuat skrip bash Anda lebih mudah dibaca dan lebih mudah dirawat.
Bash case
pernyataan memiliki konsep yang mirip dengan Javascript atau C switch
penyataan. Perbedaan utamanya adalah tidak seperti switch
C C pernyataan, Bash case
pernyataan tidak melanjutkan mencari kecocokan pola setelah menemukan satu dan mengeksekusi pernyataan yang terkait dengan pola itu.
Dalam tutorial ini, kita akan membahas dasar-dasar case
Bash pernyataan dan menunjukkan cara menggunakannya dalam skrip shell Anda.
case
Sintaks Pernyataan #
Bash case
pernyataan mengambil bentuk berikut:
case EXPRESSION in
PATTERN_1)
STATEMENTS
;;
PATTERN_2)
STATEMENTS
;;
PATTERN_N)
STATEMENTS
;;
*)
STATEMENTS
;;
esac
- Setiap
case
pernyataan dimulai dengancase
kata kunci, diikuti oleh ekspresi kasus danin
kata kunci. Pernyataan diakhiri denganesac
kata kunci. - Anda dapat menggunakan beberapa pola yang dipisahkan oleh
|
operator.)
operator mengakhiri daftar pola. - Sebuah pola dapat memiliki karakter khusus.
- Pola dan perintah terkaitnya dikenal sebagai klausa.
- Setiap klausa harus diakhiri dengan
;;
. - Perintah yang sesuai dengan pola pertama yang cocok dengan ekspresi akan dieksekusi.
- Ini adalah praktik umum untuk menggunakan simbol asterisk wildcard (
*
) sebagai pola terakhir untuk mendefinisikan kasus default. Pola ini akan selalu cocok. - Jika tidak ada pola yang cocok, status pengembalian adalah nol. Jika tidak, status pengembalian adalah status keluar dari perintah yang dijalankan.
Contoh Pernyataan Kasus #
Berikut adalah contoh menggunakan case
pernyataan dalam skrip bash yang akan mencetak bahasa resmi negara tertentu:
#!/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 khusus sebagai file dan jalankan dari baris perintah.
bash languages.sh
Script akan meminta Anda untuk memasukkan negara. Misalnya, jika Anda mengetik "Lithuania", itu akan cocok dengan pola pertama, dan echo
perintah dalam klausa itu akan dieksekusi.
Script akan mencetak output berikut:
Enter the name of a country: Lithuania
The official language of Lithuania is Lithuanian
Jika Anda memasukkan negara yang tidak cocok dengan pola lain apa pun kecuali simbol asterisk wildcard default, katakanlah Argentina skrip akan menjalankan echo
perintah di dalam klausa default.
Enter the name of a country: Argentina
The official language of Argentina is unknown
Kesimpulan #
Sekarang Anda harus memiliki pemahaman yang baik tentang cara menulis bash case
pernyataan. Mereka sering digunakan untuk meneruskan parameter ke skrip shell dari baris perintah. Misalnya, skrip init menggunakan case
pernyataan untuk memulai, menghentikan, atau memulai ulang layanan.
Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.