Perintah Bash case digunakan untuk mengambil tindakan yang tepat dengan membandingkan data seperti pernyataan if. Ini berfungsi seperti pernyataan switch-case dari bahasa pemrograman standar lainnya. Perintah ini dimulai dengan pernyataan 'case' dan ditutup dengan pernyataan 'esac'. Tidak ada pernyataan break yang digunakan dalam perintah case dan tanda kurung ganda (;;) diperlukan untuk menyebutkan pernyataan untuk pencocokan tertentu. Perintah ini memperluas ekspresi dan mencoba mencocokkan dengan pola yang diberikan dan kode status keluar dari perintah ini akan menjadi nol jika tidak ada kecocokan yang ditemukan. Beberapa contoh umum dari pernyataan kasus ditunjukkan dalam tutorial ini.
Contoh-1: pernyataan kasus sederhana
Ekspresi kondisional tunggal digunakan dalam perintah bash case untuk menghasilkan output berdasarkan kondisi yang cocok. Buat file bash bernama kasus 1.SH dengan skrip bash berikut:. Script akan mengambil nilai string dan mencocokkan nilai dengan setiap ekspresi. Skrip berikut akan menghasilkan "Tidak Ada Entri Ditemukan" jika tidak ada ekspresi yang cocok,
kasus 1.SH
echo "Ketikkan nama Anda"
baca nama
kasus $nama dalam
yamin)
echo "Warna favoritmu adalah biru" ;;
Fahmida)
echo "Minuman favoritmu adalah Sprite" ;;
*)
echo "Tidak Ditemukan Entri" ;;
esac
Jalankan skrip.
$ kasus bash1.SHKeluaran:
File dieksekusi dengan input yang valid dan tidak valid di sini untuk menguji output.
Contoh-2: pernyataan beberapa kasus dengan pipa
Beberapa ekspresi kasus dapat diterapkan dalam skrip bash untuk mengeksekusi berbagai jenis pernyataan. Simbol pipa ( | ) dapat digunakan untuk menetapkan beberapa ekspresi. Buat file bash bernama kasus2.SH dengan skrip berikut. Setelah menjalankan skrip, jika nilai input cocok dengan ekspresi apa pun maka nilai teks yang sesuai akan dicetak.
kasus2.SH
echo "Ketikkan nomor ID Anda"
baca ID
kasus $ID di
65341)
echo "Posisi Anda 1" ;;
97564|88453)
echo "Posisi anda ke-2" ;;
45087)
echo "Posisi Anda 3" ;;
*)
echo "KTP salah";;
esac
Jalankan skrip .
$ kasus bash2.SHKeluaran:
Skrip ini juga berfungsi seperti contoh sebelumnya. Satu-satunya perbedaan adalah bahwa beberapa nilai ekspresi diuji untuk satu keluaran.
Contoh-3: Cara keluar dari blok pernyataan case/esac
Ketika perintah bash case digunakan di bawah infinite loop, perintah exit diperlukan untuk digunakan untuk mengakhiri loop. Contoh ini menunjukkan bagaimana jenis tugas ini dapat dilakukan. Buat file teks bernama kasus3.SH dengan skrip berikut. Skrip ini akan mengambil angka dari 1 hingga 3 sebagai input as. Jika inputnya 1 maka akan ditambahkan dua angka, jika inputnya 2 maka akan dikurangi dua angka dan jika inputnya adalah 3 maka dua angka akan dikalikan. Outputnya adalah "Entri tidak valid" jika nomor input lebih dari 3 atau kurang dari 1 atau kosong.
kasus3.SH
#!/bin/bash
sementara (benar)
melakukan
a=8
b=4
((x=$a+$b))
((y=$a-$b))
((z=$a*$b))
echo "Tipe 1 atau 2 atau 3"
baca jawaban
kasus $ans in
1) echo "Jumlah $a dan $b adalah $x & exit" ;;
2) echo "Pengurangan $a dan $b adalah $y & exit" ;;
3) echo "Perkalian $a dan $b adalah $z & exit" ;;
*) echo "Entri salah"
esac
selesai
Jalankan skrip.
$ kasus bash3.SHKeluaran:
Script akan terus dijalankan sampai ctrl+c akan ditekan.
Contoh-4: Memeriksa nilai argumen baris perintah kosong
Variabel argumen baris perintah dapat digunakan dalam pernyataan kasus bash. Buat file bernama kasus4.SH dengan skrip berikut yang akan memeriksa nilai variabel argumen kedua.
#!/bin/bashkasus "$2" di
"Ubuntu")
echo "Argumen kedua adalah $2."
;;
"CentOS")
echo "Argumen kedua adalah $2."
;;
"")
echo "Argumen kedua kosong."
;;
esac
Jalankan skrip.
$ kasus bash4.SHKeluaran:
Di sini, skrip dijalankan tanpa nilai argumen baris perintah kedua untuk pertama kalinya dan output menunjukkan "Argumen kedua kosong". Ketika skrip dieksekusi dengan nilai argumen baris perintah kedua untuk kedua kalinya maka tidak ada output yang ditampilkan.
Contoh-5: pernyataan beberapa kasus berdasarkan input pengguna
Buat file bash bernama kasus5.SH dengan skrip berikut. Script akan mengambil nama bulan sebagai input pengguna. Jika nama bulan cocok dengan nilai huruf apa pun maka pesan teks tertentu akan dimasukkan ke dalam variabel Pesan. Nilai input harus nama bulan penuh atau nama bulan tiga karakter.
kasus5.SH
#!/bin/bashecho "Ketikkan nama bulan"
baca bulan
kasus $bulan dalam
Januari|Jan*)
Message=" 21 Februari adalah hari Ibu Internasional kita."
;;
Februari|Feb*)
Message=" 21 Februari adalah hari Ibu Internasional kita."
;;
Maret|Mar*)
Message="9 Maret adalah hari ginjal sedunia."
;;
April|Apr*)
Message="Bulan saat ini bukan Februari"
;;
Mei|Mei*)
Message="Bulan saat ini adalah Februari"
;;
Juni|Jun*)
Message="Bulan saat ini adalah Februari"
;;
*)
Pesan="Tidak ditemukan informasi yang cocok"
;;
esac
gema $Pesan
Jalankan skrip.
$ kasus bash5.SHKeluaran:
Output berikut akan muncul untuk nilai input, 'Maret' atau 'Mar'.
Contoh-6: Periksa variabel dalam pernyataan kasus bash
Nilai string apa pun dapat dicetak dengan memeriksa nilai variabel argumen baris perintah. Buat file teks bernama kasus6.SH dengan skrip berikut. Dalam contoh ini, nilai variabel argumen pertama dicentang dan jika nilainya kosong maka string, "Saya suka pemrograman bash" akan dicetak.
kasus6.SH
#!/bin/bashkasus $1 in
("") echo "Saya suka pemrograman bash";
esac
Jalankan skrip.
$ kasus bash6.SHKeluaran:
Skrip ini dijalankan dengan dan tanpa argumen pertama. Tidak akan ada output jika tidak ada variabel argumen baris perintah yang lewat.
Kesimpulan
Penggunaan yang berbeda dari perintah bash case ditampilkan dalam artikel ini. Jika pembaca mempraktekkan contoh-contoh ini dengan benar maka akan lebih mudah bagi mereka untuk memecahkan banyak masalah pemrograman bash.