Syntax:
vyberte v v datovém seznamudělat
prohlášení1
Prohlášení2
Prohlášení3
Hotovo
Zde bude položka nabídky vytvořena ze seznamu dat, který může být maticí nebo jiným zdrojem dat. Každá položka nabídky se načte z datového seznamu a uloží se do proměnné, aby se vytvořila nabídka. Příkaz „Select“ lze použít s příkazem „case“ také k vytvoření nabídky. Zde jsou zobrazeny různé typy úloh vytváření nabídek pomocí velmi jednoduchých příkladů.
Příklad 1: Vytvoření jednoduchého menu
Vytvořte soubor bash s názvem vybrat1.sh s následujícím bash skriptem. Tady, 'vybrat' příkaz načte všechna data ze seznamu a vytiskne je jako nabídku. Následující skript obsahuje názvy značek mobilních telefonů a po provedení skriptu vytvoří nabídku mobilních značek a vyzve uživatele k výběru jakékoli značky. Vytiskne název vybrané značky. Uživatel musí stisknout Ctrl + c ukončit ze skriptu.
#!/ bin / bash# Zde definujte seznam nabídek
vyberte značku v Samsung Sony iphone symphony Walton
dělat
echo "Vybrali jste si $ značku"
Hotovo
Výstup:
Spusťte skript.
$ bash select1.shNásledující výstup se zobrazí po spuštění skriptu a výběru položky nabídky číslo 1 a 4.
Příklad 2: Vyberte příkaz s příkazem případu
Jak můžete vytvořit nabídku bash s příkazem case, je uveden v tomto příkladu. Vytvořte soubor bash s názvem vybrat2.sh s následujícím bash skriptem. Po spuštění skriptu uživatel vybere libovolnou položku nabídky a příkaz case bude odpovídat vybrané hodnotě s hodnotou case. Zde se pro shodu s vybranou položkou nabídky používá více hodnot případů. Pokud se žádná z hodnot případu neshoduje s vybranou položkou nabídky, vytiskne se „Neplatné zadání“.
#!/ bin / bashecho "Který operační systém se vám líbí?"
# Názvy operačních systémů se zde používají jako zdroj dat
vyberte os v Ubuntu LinuxMint Windows8 Windows7 WindowsXP
dělat
případ $ os v
# Pro porovnání jsou zde deklarovány dvě hodnoty případu
„Ubuntu“ | „LinuxMint“)
echo "Používám také $ os."
;;
# Pro porovnání jsou zde deklarovány tři případové hodnoty
"Windows8" | "Windows10" | „WindowsXP“)
echo "Proč nezkusíte Linux?"
;;
# Shoda s neplatnými údaji
*)
echo "Neplatný záznam."
přestávka
;;
esac
Hotovo
Výstup:
Spusťte skript.
Různý výstup se zobrazí pro jiný výběr. Zde je poprvé vybrána 1, což je Ubuntu. shoduje se s hodnotou prvního případu vytiskne zprávu „Používám také Ubuntu“. Příště je vybrána položka 4 a položka nabídky Windows 7 ale s tímto názvem není hodnota případu. Tentokrát to tedy bylo vytištěno "Neplatné zadání" a ukončete skript.
Příklad 3: Vytvoření vnořené nabídky bash
Pokud je v nabídce druhého vytvořeno libovolné menu, nazývá se to vnořené menu. Vnořená nabídka může být vytvořena v základně pomocí dvou nebo více příkazů select a case. Vytvořte soubor bash s názvem vybrat3.sh s následujícím bash skriptem. Zde se používají dva příkazy select a case k implementaci vnořeného menu. Nadřazené menu obsahuje 4 položky a podnabídka obsahuje 3 položky.
#!/ bin / bashi když je to pravda
dělat
# Zde jsou deklarovány nadřazené položky nabídky
vyberte položku na pevném disku monitoru myši
dělat
# příkaz case pro porovnání prvních položek nabídky
případ $ položka v
Myš)
echo "Který typ monitoru se vám líbí?"
;;
Tiskárna)
# Zde jsou deklarovány položky podnabídky
vyberte sub_item v Samsung HP Dell
dělat
# prohlášení o případu pro položky nabídky slunce
případ $ sub_item v
Samsung)
echo "Cena tiskárny Samsung je 100 $"
přestávka
;;
HP)
echo "Cena nové tiskárny HP 880 je 450 $"
# návrat do nadřazeného menu
přestávka
;;
Dell)
echo "Nyní není k dispozici žádná tiskárna Dell"
# návrat do nadřazeného menu
přestávka 2
;;
esac
Hotovo
přestávka
;;
Monitor)
echo "Kupte si náš nový monitor Samsung za nízkou cenu"
break # návrat do aktuální (hlavní) nabídky
;;
HDD)
echo "Kvalitní HDD jsou k dispozici na skladě"
# návrat ze skriptu
přestávka 2
esac
Hotovo
Hotovo
Výstup:
Spusťte skript.
$ bash select3.shPo spuštění skriptu se zobrazí nadřazená nabídka se 4 položkami. Zde obsahuje pouze druhá položka nabídky nadřazené nabídky podnabídku. Po výběru 2 se objevila podnabídka a když uživatel vybral 3, zobrazila odpovídající zprávu položky nabídky 3 a vrátila se zpět do nadřazené nabídky.
Příklad 4: Vytvořte nabídku bash s polem
Proměnná pole může ukládat více dat. Takže můžete použít pole jako seznam dat pro vytvoření základního menu. V tomto příkladu je ukázáno, jak můžete k vytvoření nabídky použít pole s příkazem select. Vytvořte soubor bash s názvem vybrat4.sh s následujícím bash skriptem. Bash podprogram se v tomto skriptu používá k vytvoření nabídky z pole. Používá se pole se třemi prvky a menu_from_array () je vytvořen k vytvoření nabídky. Skript zkontroluje, zda je číslo vybrané položky nabídky mezi 1-3 nebo ne. Pokud číslo není v tomto rozsahu, bude instruovat uživatele, aby jej vybral v tomto rozsahu, vytiskne vybranou položku nabídky s dalším textem.
menu_from_array ()vybrat předmět; dělat
# Zkontrolujte číslo vybrané položky nabídky
pokud [1 -le "$ REPLY"] && ["$ REPLY" -le $ #];
pak
echo "Vybraný operační systém je $ item"
přestávka;
jiný
echo "Špatný výběr: Vyberte libovolné číslo z 1 - $ #"
fi
Hotovo
# Deklarujte pole
linux = ('Ubuntu' 'Linux Mint' 'CentOS')
# Zavolejte podprogram a vytvořte nabídku
menu_from_array "$ linux [@]"
Výstup:
Spusťte skript.
$ bash select4.shZde se nejprve vybere 2, která je v rozsahu a vytiskne text. 6 je vybrána podruhé, což je mimo rozsah, a navrhuje uživateli vybrat číslo v rozsahu.
Závěr
Úkol vytváření nabídky Bash pomocí příkazu select je v tomto kurzu vysvětlen co nejjednodušší. Doufám, že kodér, který má zájem pracovat na nabídce bash a naučit se příkaz bash select, dostane nápovědu z tohoto tutoriálu. Děkuju.