Ukazi za Linux

Ukaz Bash Select

Ukaz Bash Select
"Izberite'command je zelo uporaben bash ukaz za ustvarjanje bash menija. Različne vrste opravil za ustvarjanje menijev, ustvarjanje seznama direktorjev na osnovi menija, ustvarjanje menija iz vsebine datotek itd. lahko naredite z ukazom bash select. Kako lahko izvajate te vrste nalog z ukazom bash select, je prikazano v tej vadnici.

Sintaksa:

izberite v v seznamu podatkov
naredi
izjava1
Izjava2
Izjava3
Končano

Tu bo element menija ustvarjen s seznama podatkov, ki je lahko matrika ali drug vir podatkov. Vsak element menija pridobi s seznama podatkov in shrani v spremenljivko, da ustvari meni. Ukaz 'Select' lahko uporabite z ukazom 'case' tudi za ustvarjanje menija. Tu so na zelo preprostih primerih prikazane različne vrste nalog za ustvarjanje menijev.

Primer-1: Ustvarjanje preprostega menija

Ustvari bash datoteko z imenom izberite1.sh z naslednjim bash skriptom. Tukaj, 'izberite' ukaz bo pridobil vse podatke s seznama in jih natisnil kot meni. Naslednji skript vsebuje imena blagovnih znamk mobilnih telefonov in po izvedbi skripta bo ustvaril meni mobilnih znamk in uporabnika prosil, naj izbere katero koli znamko. Natisnil bo ime izbrane blagovne znamke.  Uporabnik mora pritisniti Ctrl + c končati iz skripta.

#!/ bin / bash
# Tu določite seznam menijev
izberite znamko v Samsung Sony iphone symhony Walton
naredi
echo "Izbrali ste znamko $"
Končano

Izhod:

Zaženite skript.

$ bash select1.sh

Naslednji izhod se prikaže po zagonu skripta in izbiri elementa menija številka 1 in 4.

Primer-2: izberite ukaz s stavkom primera

V tem primeru je prikazano, kako lahko ustvarite bash meni s stavkom primera. Ustvari bash datoteko z imenom izberite2.sh z naslednjim bash skriptom. Po zagonu skripta bo uporabnik izbral kateri koli element menija in stavek primera se bo izbrani vrednosti ujemal z vrednostjo primera. Tu se za ujemanje z izbranim elementom menija uporablja več vrednosti velikih črk. Če se nobena vrednost primera ne ujema z izbranim elementom menija, se natisne »Neveljaven vnos«.

#!/ bin / bash
echo "Kateri operacijski sistem vam je všeč?"
# Imena operacijskega sistema se tukaj uporabljajo kot vir podatkov
izberite os v Ubuntu LinuxMint Windows8 Windows7 WindowsXP
naredi
primera $ os v
# Za ujemanje sta tukaj navedeni dve vrednosti primerov
"Ubuntu" | "LinuxMint")
echo "Uporabljam tudi $ os."
;;
# Za ujemanje so tukaj navedene tri vrednosti primerov
"Windows8" | "Windows10" | "WindowsXP")
echo "Zakaj ne poskusite Linuxa?"
;;
# Ujemanje z neveljavnimi podatki
*)
echo "Neveljaven vnos."
odmor
;;
esac
Končano

Izhod:
Zaženite skript.

$ bash select2.sh

Za različne izbire se bodo pojavili različni izhodi. Tu je prvič izbran 1, ki je Ubuntu. ujema se s prvo vrednostjo tiska sporočilo "Uporabljam tudi Ubuntu". Naslednjič je izbran 4 in element menija je Windows 7 vendar s tem imenom ni vrednosti primera. Torej, tokrat je natisnjeno "Neveljaven vnos" in konča iz skripta.

Primer-3: Ustvarjanje ugnezdenega bash menija

Ko se kateri koli meni ustvari pod menijem drugega, se imenuje ugnezdeni meni. Vgnezden meni lahko v osnovnem delu ustvarite z uporabo dveh ali več stavkov select in case. Ustvari bash datoteko z imenom izberite3.sh z naslednjim bash skriptom. Tu sta za izvajanje ugnezdenega menija uporabljena dva stavka select in case. Nadrejeni meni vsebuje 4 elemente, podmeni pa tukaj 3 elemente.

#!/ bin / bash
čeprav resnično
naredi
# Tukaj so prijavljeni nadrejeni elementi menija
izberite element na Mouse Printer Monitor HDD
naredi
# stavek za primerjavo prvih elementov menija
primeru $ item v
Miška)
echo "Katera vrsta monitorja vam je všeč?"
;;
Tiskalnik)
# Tu navedeni elementi podmenija
izberite podtemo v Samsung HP Dell
naredi
# stavek za elemente menija za sonce
primer $ sub_item v
Samsung)
echo "Cena tiskalnika samsung je 100 USD"
odmor
;;
HP)
echo "Nov tiskalnik HP 880 s tiskalnikom stane 450 USD"
# vrnitev v nadrejeni meni
odmor
;;
Dell)
echo "Noben tiskalnik Dell zdaj ni na voljo"
# vrnitev v nadrejeni meni
odmor 2
;;
esac
Končano
odmor
;;
Monitor)
echo "Kupite naš novi monitor Samsung po nizki ceni"
break # vrnitev v trenutni (glavni) meni
;;
Trdi disk)
echo "Na zalogi so na voljo trdi diski dobre kakovosti"
# vrnitev iz skripta
odmor 2
esac
Končano
Končano

Izhod:

Zaženite skript.

$ bash select3.sh

Po zagonu skripta se prikaže nadrejeni meni s 4 elementi. Tukaj samo drugi element menija nadrejenega menija vsebuje podmeni. Po izbiri 2 se je pojavil podmeni in ko je uporabnik izbral 3, je prikazal ujemajoče se sporočilo točke 3 in se vrnil v nadrejeni meni.

Primer-4: Ustvari bash meni z matriko

Spremenljivka matrike lahko shrani več podatkov. Tako lahko matriko uporabite kot seznam podatkov za ustvarjanje osnovnega menija. V tem primeru je prikazano, kako lahko uporabite matriko z izjavo select za ustvarjanje menija. Ustvari bash datoteko z imenom izberite4.sh z naslednjim bash skriptom. Podprogram Bash se v tem skriptu uporablja za ustvarjanje menija iz polja. Uporabljena je matrika s tremi elementi in menu_from_array () se pokliče za ustvarjanje menija. Skript bo preveril, ali je izbrana številka elementa menija med 1-3 ali ne. Če številka ni znotraj tega obsega, bo uporabniku naročil, naj jo izbere znotraj tega obsega, natisne izbrani element menija z drugim besedilom.

menu_from_array ()

izberite element; naredi
# Preverite številko izbranega elementa menija
če je [1-le "$ REPLY"] && ["$ REPLY" -le $ #];
potem
echo "Izbrani operacijski sistem je $ item"
odmor;
drugače
echo "Napačna izbira: izberite katero koli številko med 1 - $ #"
fi
Končano

# Razglasite polje
linux = ('Ubuntu' 'Linux Mint' 'CentOS')
# Pokličite podprogram, da ustvarite meni
menu_from_array "$ linux [@]"

Izhod:

Zaženite skript.

$ bash select4.sh

Tu je najprej izbran 2, ki je znotraj obsega, in natisnil besedilo. 6 je drugič izbran zunaj dosega in predlaga uporabniku, da izbere številko znotraj obsega.

Zaključek

Naloga ustvarjanja menija Bash z uporabo stavka select je v tej vadnici razložena čim bolj preprosto. Upam, da bo programer, ki ga zanima delo v meniju bash in se nauči izjave bash select, dobil pomoč iz te vadnice. Hvala vam.

Kako uporabiti Xdotool za spodbujanje klikov in pritiskov mišk v Linuxu
Xdotool je brezplačno in odprtokodno orodje za ukazno vrstico, ki simulira klike in pritiske tipk. Ta članek bo zajemal kratek vodnik o uporabi xdotoo...
Najboljših 5 izdelkov z ergonomsko računalniško miško za Linux
Ali dolgotrajna uporaba računalnika povzroča bolečine v zapestju ali prstih? Ali imate trde sklepe in bi se morali neprestano tresti z rokami? Ali čut...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...