Perintah Linux

Perintah Kes BASH

Perintah Kes BASH

Perintah case case digunakan untuk mengambil tindakan yang tepat dengan membandingkan data seperti pernyataan if. Ia berfungsi seperti pernyataan kes-kes bahasa pengaturcaraan standard lain. Perintah ini dimulakan dengan pernyataan 'case' dan ditutup dengan pernyataan 'esac'. Tidak ada pernyataan putus digunakan dalam perintah kasus dan tanda kurung ganda (;;) diperlukan untuk menyebut pernyataan untuk pencocokan tertentu. Perintah ini memperluas ekspresi dan cuba memadankan dengan corak yang diberikan dan kod status keluar dari perintah ini akan menjadi sifar jika tidak ada padanan. Beberapa contoh umum pernyataan kes ditunjukkan dalam tutorial ini.

Contoh-1: penyataan kes mudah

Satu ungkapan bersyarat tunggal digunakan dalam perintah bash case untuk menghasilkan output berdasarkan keadaan yang sepadan. Buat fail bash bernama kes1.sh dengan skrip bash berikut. Skrip akan mengambil nilai rentetan dan memadankan nilainya dengan setiap ungkapan. Skrip berikut akan menghasilkan "No Entry Found" jika tidak ada ekspresi yang sesuai,
kes1.sh

#!/ bin / bash
gema "Taipkan nama anda"
baca nama
kes $ nama dalam
Yamin)
gema "Warna kegemaran anda berwarna biru" ;;
Fahmida)
gema "Minuman kegemaran anda ialah Sprite" ;;
*)
echo "Tiada Entri Ditemui" ;;
esac

Jalankan skrip.

$ bash case1.sh

Pengeluaran:

Fail dijalankan dengan input yang sah dan tidak sah di sini untuk menguji output.

Contoh-2: penyataan berbilang kes dengan paip

Pelbagai ungkapan huruf besar boleh digunakan dalam skrip bash untuk melaksanakan berbagai jenis pernyataan. Simbol paip (|) boleh digunakan untuk menetapkan pelbagai ungkapan. Buat fail bash bernama kes2.sh dengan skrip berikut. Setelah menjalankan skrip, jika nilai input sesuai dengan ekspresi apa pun maka nilai teks yang sesuai akan dicetak.
kes2.sh

#!/ bin / bash
gema "Taipkan nombor ID anda"
baca ID
kes $ ID di
65341)
gema "Kedudukan anda adalah yang pertama" ;;
97564 | 88453)
gema "Kedudukan anda ke-2" ;;
45087)
gema "Kedudukan anda ke-3" ;;
*)
echo "ID Tidak Sah" ;;
esac

Jalankan skrip .

$ bash case2.sh

Pengeluaran:

Skrip ini juga berfungsi seperti contoh sebelumnya. Satu-satunya perbezaan adalah bahawa nilai ekspresi berganda diuji untuk satu output.

Contoh-3: Cara berhenti dari blok pernyataan case / esac

Apabila perintah bash case digunakan di bawah loop tak terbatas, perintah keluar diperlukan untuk digunakan untuk menghentikan loop. Contoh ini menunjukkan bagaimana jenis tugas ini dapat dilakukan. Buat fail teks bernama kes3.sh dengan skrip berikut. Skrip ini akan mengambil nombor dari 1 hingga 3 sebagai input. Sekiranya input adalah 1 maka dua nombor akan ditambahkan, jika inputnya 2 maka dua nombor akan dikurangkan dan jika nombor input adalah 3 maka dua nombor akan dikalikan. Keluaran akan menjadi "Entri tidak sah" jika nombor input lebih dari 3 atau kurang dari 1 atau kosong.
kes3.sh

#!/ bin / bash
#!/ bin / bash
sementara (benar)
buat
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
gema "Jenis 1 atau 2 atau 3"
baca ans
kes $ ans di
1) gema "Jumlah $ a dan $ b adalah $ x & exit" ;;
2) gema "Pengurangan $ a dan $ b adalah $ y & exit" ;;
3) gema "Pendaraban $ a dan $ b adalah $ z & exit" ;;
*) gema "Entri tidak sah"
esac
selesai

Jalankan skrip.

$ bash case3.sh

Pengeluaran:

Skrip akan terus dijalankan sehingga ctrl + c akan ditekan.

Contoh-4: Memeriksa nilai argumen baris perintah kosong

Pemboleh ubah argumen baris perintah boleh digunakan dalam pernyataan kes bash. Buat fail bernama kes4.sh dengan skrip berikut yang akan memeriksa nilai pemboleh ubah argumen kedua.

#!/ bin / bash
kes "$ 2" dalam
"Ubuntu")
echo "Hujah kedua ialah $ 2."
;;
"CentOS")
echo "Hujah kedua ialah $ 2."
;;
""
gema "Hujah kedua kosong."
;;
esac

Jalankan skrip.

$ bash case4.sh

Pengeluaran:

Di sini, skrip dilaksanakan tanpa nilai argumen baris perintah kedua untuk pertama kalinya dan output menunjukkan "Argumen kedua kosong". Apabila skrip dijalankan dengan nilai argumen baris perintah kedua untuk kali kedua maka tidak ada output yang ditunjukkan.

Contoh-5: penyataan berbilang kes berdasarkan input pengguna

Buat fail bash bernama kes5.sh dengan skrip berikut. Skrip akan mengambil nama bulan sebagai input pengguna. Sekiranya nama bulan sesuai dengan nilai huruf apa pun maka mesej teks tertentu akan diberikan ke dalam pembolehubah Mesej. Nilai input mestilah nama bulan penuh atau nama tiga watak bulan.

kes5.sh

#!/ bin / bash
echo "Taipkan nama sebulan"
baca bulan
kes $ bulan dalam
Januari | Jan *)
Mesej = "21 Februari adalah hari Ibu Antarabangsa kami."
;;
Februari | Februari *)
Mesej = "21 Februari adalah hari Ibu Antarabangsa kami."
;;
Mac | Mac *)
Mesej = "9 Mac adalah hari ginjal dunia."
;;
April | Apr *)
Mesej = "Bulan semasa bukan Februari"
;;
Mei | Mei *)
Mesej = "Bulan semasa adalah Februari"
;;
Jun | Jun *)
Mesej = "Bulan semasa adalah Februari"
;;
*)
Mesej = "Tidak ada maklumat yang sepadan"
;;
esac
echo $ Mesej

Jalankan skrip.

$ bash case5.sh

Pengeluaran:

Output berikut akan muncul untuk nilai input, 'March' atau 'Mar'.

Contoh-6: Periksa pemboleh ubah dalam pernyataan kes bash

Sebarang nilai rentetan dapat dicetak dengan memeriksa nilai pemboleh ubah argumen baris perintah. Buat fail teks bernama kes6.sh dengan skrip berikut. Dalam contoh ini, nilai pembolehubah argumen pertama diperiksa dan jika nilainya kosong maka rentetan, "Saya suka pengaturcaraan bash" akan dicetak.

kes6.sh

#!/ bin / bash
kes $ 1 dalam
("") gema "Saya suka pengaturcaraan bash";
esac

Jalankan skrip.

$ bash case6.sh

Pengeluaran:

Skrip ini dilaksanakan dengan dan tanpa argumen pertama. Tidak akan ada keluaran jika tidak ada pemboleh ubah argumen baris perintah yang berlalu.

Kesimpulannya

Penggunaan perintah bash case yang berbeza ditunjukkan dalam artikel ini. Sekiranya pembaca mempraktikkan contoh-contoh ini dengan betul maka akan lebih mudah bagi mereka untuk menyelesaikan banyak masalah pengaturcaraan bash.

Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...
Trackpad dan Mouse Pointer pada skrin Windows AppyMouse untuk Tablet Windows
Pengguna tablet sering kehilangan penunjuk tetikus, terutama ketika mereka biasa menggunakan komputer riba. Telefon pintar dan tablet skrin sentuh dil...
Butang tetikus tengah tidak berfungsi pada Windows 10
The butang tetikus tengah membantu anda menelusuri halaman web dan skrin yang panjang dengan banyak data. Sekiranya ia berhenti, anda akan menggunakan...