Syntax:
vyberte v v data_listrobiť
vyhlásenie1
Vyhlásenie2
Vyhlásenie3
hotový
Tu sa položka ponuky vytvorí zo zoznamu údajov, ktorým môže byť pole alebo iný zdroj údajov. Každá položka ponuky sa načítava zo súboru data_list a ukladá sa do premennej, aby sa vytvorila ponuka. Príkaz 'Vybrať' sa dá použiť s príkazom 'prípad' aj na vytvorenie ponuky. Na veľmi jednoduchých príkladoch sú zobrazené rôzne typy úloh vytvárania ponúk.
Príklad-1: Vytvorenie jednoduchej ponuky
Vytvorte bash súbor s názvom vybrať1.š s nasledujúcim bash skriptom. Tu, 'vybrať' príkaz načíta všetky dáta zo zoznamu a vytlačí ich ako menu. Nasledujúci skript obsahuje názvy značiek mobilných telefónov a po vykonaní skriptu vytvorí ponuku mobilných značiek a požiada používateľa, aby si vybral ľubovoľnú značku. Vytlačí názov vybranej značky. Užívateľ musí stlačiť Ctrl + c ukončiť zo scenára.
#!/ bin / bash# Tu definujte zoznam ponúk
vyberte značku v kategórii Samsung Sony iphone symphony Walton
robiť
echo "Vybrali ste si $ značku"
hotový
Výkon:
Spustite skript.
$ bash select1.šPo spustení skriptu a výbere položiek ponuky číslo 1 a 4 sa objaví nasledujúci výstup.
Príklad-2: Vyberte príkaz s výpisom veľkých a malých písmen
Ako je možné vytvoriť ponuku bash s príkazom case, je uvedené v tomto príklade. Vytvorte bash súbor s názvom vyberte2.š s nasledujúcim bash skriptom. Po spustení skriptu používateľ vyberie ľubovoľnú položku ponuky a príkaz prípadu sa bude zhodovať s vybranou hodnotou s hodnotou prípadu. Tu sa na porovnanie s vybranou položkou ponuky používa viac hodnôt veľkých a malých písmen. Pokiaľ sa žiadna z veľkých a malých písmen nezhoduje s vybranou položkou ponuky, vytlačí sa „Neplatné zadanie“.
#!/ bin / bashecho "Ktorý operačný systém sa vám páči?„
# Názvy operačných systémov sa tu používajú ako zdroj údajov
vyberte os v Ubuntu LinuxMint Windows8 Windows7 WindowsXP
robiť
prípad $ os v
# Na účely zhody sú tu deklarované dve hodnoty písmen
„Ubuntu“ | „LinuxMint“)
echo „Používam aj $ os.„
;;
# Pre zhodu sú tu deklarované tri hodnoty písmen
"Windows8" | "Windows10" | "Windows XP")
echo „Prečo nevyskúšate Linux?„
;;
# Zhoda s neplatnými údajmi
*)
echo "Neplatný záznam.„
prestávka
;;
esac
hotový
Výkon:
Spustite skript.
Rôzny výstup sa zobrazí pre iný výber. Tu sa vyberie 1, čo je prvýkrát Ubuntu. zhoduje sa s hodnotou prvého prípadu vytlačiť správu „Používam aj Ubuntu“. 4 sa nabudúce zvolí a položka ponuky sa zvolí Windows 7 ale pri tomto názve neexistuje hodnota prípadu. Tentokrát sa to teda vytlačilo „Neplatný záznam“ a ukončiť zo scenára.
Príklad-3: Vytvorenie vnorenej ponuky bash
Ak sa v ponuke druhého vytvorí ľubovoľné menu, nazýva sa to vnorené menu. Vnorené menu je možné vytvoriť v základe pomocou dvoch alebo viacerých príkazov select a case. Vytvorte bash súbor s názvom vyberte3.š s nasledujúcim bash skriptom. Tu sa na implementáciu vnoreného menu používajú dva príkazy select a case. Nadradené menu obsahuje 4 položky a podmenu obsahuje 3 položky.
#!/ bin / bashaj keď je to pravda
robiť
# Tu uvedené položky nadradenej ponuky
vyberte položku na pevnom disku monitora myši
robiť
# vyhlásenie o prípade na porovnanie prvých položiek ponuky
prípad $ položka v
Myš)
echo „Aký typ monitora sa vám páči?„
;;
Tlačiareň)
# Položky podponuky sú tu deklarované
vyberte sub_item v Samsung HP Dell
robiť
# prípadové vyhlásenie pre položky ponuky slnka
sk Prípad $ sub_item v
Samsung)
echo "Cena tlačiarne Samsung je 100 dolárov"
prestávka
;;
HP)
echo "Cena novej tlačiarne pre tlačiareň HP 880 je 450 dolárov"
# návrat do nadradeného menu
prestávka
;;
Dell)
echo „Teraz nie je k dispozícii žiadna tlačiareň Dell“
# návrat do nadradeného menu
prestávka 2
;;
esac
hotový
prestávka
;;
Monitor)
echo „Kúpte si náš nový monitor Samsung za nízku cenu“
break # návrat do aktuálneho (hlavného) menu
;;
HDD)
echo "Kvalitný pevný disk je k dispozícii na sklade"
# návrat zo skriptu
prestávka 2
esac
hotový
hotový
Výkon:
Spustite skript.
$ bash select3.šPo spustení skriptu sa zobrazí nadradená ponuka so 4 položkami. Podponuku tu obsahuje iba druhá položka ponuky nadradenej ponuky. Po výbere 2 sa zobrazila podponuka a keď používateľ vybral 3, potom zobrazila zodpovedajúcu správu položky 3 ponuky a vrátila sa späť do nadradenej ponuky.
Príklad-4: Vytvorte ponuku bash s poľom
Premenná poľa môže obsahovať viac údajov. Môžete teda použiť pole ako zoznam údajov na vytvorenie základnej ponuky. V tomto príklade je uvedené, ako môžete na vytvorenie ponuky použiť pole s príkazom select. Vytvorte bash súbor s názvom vybrať4.š s nasledujúcim bash skriptom. Bash podprogram sa v tomto skripte používa na vytvorenie ponuky z poľa. Používa sa pole s tromi prvkami a menu_from_array () je vyvolaný na vytvorenie menu. Skript skontroluje, či je číslo vybratej položky ponuky v rozmedzí 1 až 3 alebo nie. Pokiaľ číslo nie je v tomto rozmedzí, dá používateľovi pokyn, aby ho vybral v tomto rozmedzí, vytlačí vybranú položku ponuky s ďalším textom.
menu_from_array ()vybrať položku; robiť
# Skontrolujte číslo zvolenej položky ponuky
ak [1 -le "$ REPLY"] && ["$ REPLY" -le $ #];
potom
echo "Vybraný operačný systém je $ item"
prestávka;
inak
echo "Nesprávny výber: Vyberte ľubovoľné číslo od 1 do $ #"
fi
hotový
# Deklarujte pole
linux = ('Ubuntu' 'Linux Mint' 'CentOS')
# Zavolajte podprogram, aby ste vytvorili menu
menu_from_array "$ linux [@]"
Výkon:
Spustite skript.
$ bash select4.šTu sa najskôr vyberie 2, ktorá je v rozsahu, a vytlačí sa text. 6 je vybraná druhýkrát, čo je mimo rozsahu, a navrhuje používateľovi zvoliť číslo v rozsahu.
Záver
Úloha vytvorenia ponuky Bash pomocou príkazu select je v tomto tutoriále vysvetlená čo najjednoduchšie. Dúfam, že programátor, ktorý má záujem pracovať na ponuke bash a naučiť sa vyhlásenie bash select, dostane pomoc z tohto tutoriálu. Ďakujem.