Perintah Pilih Bash

Select‘ adalah perintah bash yang sangat berguna untuk pembuatan menu bash. Berbagai jenis tugas pembuatan menu, membuat daftar direktur berbasis menu, membuat menu dari konten file, dll. Dapat dilakukan menggunakan perintah bash select. Bagaimana Anda dapat mengimplementasikan jenis tugas ini menggunakan perintah bash select ditampilkan dalam tutorial ini.

Sintaksis:

select v in data_list
do
statement1
Statement2
Statement3
done

Di sini, item menu akan dibuat dari data_list yang dapat berupa array atau sumber data lainnya. Setiap item menu mengambil dari data_list dan menyimpannya dalam variabel untuk membuat menu. Perintah ‘Select’ dapat digunakan dengan perintah ‘case’ juga untuk membuat menu. Berbagai jenis tugas pembuatan menu ditampilkan di sini menggunakan contoh yang sangat sederhana.

Example-1: Creating a simple menu

Buat file bash bernama select1.shdengan skrip bash berikut. Di Sini,‘select’perintah akan mengambil setiap data dari daftar dan mencetak data sebagai menu. Skrip berikut berisi nama merek ponsel dan setelah menjalankan skrip akan membuat menu merek ponsel dan meminta user untuk memilih merek apa pun. Ini akan mencetak nama merek yang dipilih. Pengguna harus menekanCtrl+c untuk mengakhiri dari skrip.

#!/bin/bash
# Define the menu list here
select brand in Samsung Sony iphone symphony Walton
do
echo "You have chosen $brand"
done

Keluaran:

Jalankan skrip.

$ bash select1.sh

Output berikut akan muncul setelah menjalankan skrip dan memilih item menu nomor 1 dan 4.

Contoh-2: Pilih perintah dengan pernyataan kasus

Bagaimana Anda dapat membuat menu bash dengan pernyataan kasus ditunjukkan dalam contoh ini. Buat file bash bernamaselect2.shdengan skrip bash berikut. Setelah menjalankan skrip, user akan memilih item menu dan pernyataan kasus akan cocok dengan nilai yang dipilih dengan nilai kasus. Di sini beberapa nilai kasus digunakan untuk mencocokkan dengan item menu yang dipilih. Jika tidak ada nilai huruf besar/kecil yang cocok dengan item menu yang dipilih, maka “Entri tidak valid” akan dicetak.

#!/bin/bash
echo "Which Operating System do you like?"

# Operating system names are used here as a data source
select os in Ubuntu LinuxMint Windows8 Windows7 WindowsXP
do

case $os in
# Two case values are declared here for matching
"Ubuntu"|"LinuxMint")
echo "I also use $os."
;;
# Three case values are declared here for matching
"Windows8" | "Windows10" | "WindowsXP")
echo "Why don't you try Linux?"
;;
# Matching with invalid data
*)
echo "Invalid entry."
break
;;
esac
done

Keluaran:
Jalankan skrip.

$ bash select2.sh

Output yang berbeda akan muncul untuk pilihan yang berbeda. Di sini, 1 dipilih pertama kali yaitu Ubuntu. itu cocok dengan nilai kasus pertama, cetak pesannya“I also use Ubuntu”. 4 dipilih lain kali dan item menunya adalahWindows7tetapi tidak ada nilai kasus dengan nama ini. Jadi, kali ini dicetak“Invalid entry” dan mengakhiri dari skrip.

Contoh-3: Membuat menu bash bersarang

Ketika menu apa pun dibuat di bawah menu lain maka itu disebut menu bersarang. Menu bersarang dapat dibuat di dasar dengan menggunakan dua atau lebih pernyataan pilih dan kasus. Buat file bash bernamaselect3.shdengan skrip bash berikut. Di sini, dua pernyataan pilih dan kasus digunakan untuk mengimplementasikan menu bersarang. Menu induk berisi 4 item dan sub-menu berisi 3 item di sini.

#!/bin/bash
while true
do
# Parent menu items declared here
select item in Mouse Printer Monitor HDD
do

# case statement to compare the first menu items
case $item in
Mouse)
echo "Which type of monitor you like?"
;;
Printer)
# Sub-menu items here declared here
select sub_item in Samsung HP Dell
do
# case statement for sun-menu items
case $sub_item in
Samsung)
echo "price of samsung printer is $100"
break
;;
HP)
echo "New HP 880 printer price printer is $450"
# return to parent menu
break
;;
Dell)
echo "No Dell printer is available now"
# return to the parent menu
break 2
;;
esac
done
break
;;
Monitor)
echo "Buy our new Samsung Monitor at low cost"
break # return to current (main) menu
;;
HDD)
echo "Good quality HDD are available in the stock"
# return from the script
break 2
esac
done
done

Keluaran:

Jalankan skrip.

$ bash select3.sh

Setelah menjalankan skrip, menu induk dengan 4 item ditampilkan. Di sini, hanya item menu kedua dari menu induk yang berisi sub-menu. Setelah memilih 2, sub-menu muncul dan ketika user memilih 3 maka ditampilkan pesan yang cocok dari item menu 3 dan kembali ke menu induk.

Contoh-4: Buat menu bash dengan array

Variabel array dapat menyimpan banyak data. Jadi, Anda dapat menggunakan array sebagai daftar data untuk membuat menu dasar. Bagaimana Anda dapat menggunakan array dengan pernyataan pilih untuk membuat menu ditunjukkan dalam contoh ini. Buat file bash bernamaselect4.shdengan skrip bash berikut. Subrutin Bash digunakan dalam skrip ini untuk membuat menu dari array. Array dengan tiga elemen digunakan danmenu_from_array ()dipanggil untuk membuat menu. Script akan memeriksa nomor item menu yang dipilih antara 1-3 atau tidak. Jika nomor tidak dalam kisaran ini maka akan menginstruksikan user memilihnya dalam kisaran ini, itu akan mencetak item menu pilih dengan teks lain.

menu_from_array ()
{

select item; do
# Check the selected menu item number
if [ 1 -le "$REPLY" ] && [ "$REPLY" -le $# ];

then
echo "selected operating system is $item"
break;
else
echo "Wrong selection: Select any number from 1-$#"
fi
done
}

# Declare the array
linux=('Ubuntu' 'Linux Mint' 'CentOS')

# Call the subroutine to create the menu
menu_from_array "${linux[@]}"

Keluaran:

Jalankan skrip.

$ bash select4.sh

Di sini, 2 dipilih terlebih dahulu yang berada dalam jangkauan dan mencetak teks. 6 dipilih kedua kalinya yang berada di luar jangkauan dan menyarankan user memilih nomor dalam jangkauan.

Kesimpulan

Tugas pembuatan menu bash dengan menggunakan pernyataan pilih dijelaskan dalam tutorial ini sesederhana mungkin. Semoga para pembuat kode yang tertarik untuk mengerjakan menu bash dan mempelajari pernyataan pemilihan bash akan mendapatkan bantuan dari tutorial ini. Terima kasih.

Related Posts