Linux-kommandon

Bash Välj kommando

Bash Välj kommando
''Välj'kommando är ett mycket användbart bash-kommando för att skapa bash-menyer. Olika typer av menygenereringsuppgifter, skapa menybaserad regissörslista, skapa en meny från filinnehåll etc. kan göras med bash select-kommandot. Hur du kan genomföra dessa typer av uppgifter med bash select-kommandot visas i denna handledning.

Syntax:

välj v i data_lista
do
uttalande1
Uttalande2
Uttalande3
Gjort

Här skapas menyalternativet från datalistan som kan vara en matris eller annan datakälla. Varje menyalternativ hämtas från datalistan och lagras i en variabel för att skapa menyn. Kommandot "Välj" kan användas med kommandot "fall" också för att skapa menyn. Olika typer av menyskapande uppgifter visas här med mycket enkla exempel.

Exempel 1: Skapa en enkel meny

Skapa en bash-fil med namnet välj1.sh med följande bash-skript. Här, 'Välj' kommandot hämtar varje data från listan och skriver ut data som en meny. Följande skript innehåller varumärkena på mobiltelefoner och efter att skriptet har körts skapar det en meny med mobilmärken och ber användaren att välja vilket märke som helst. Det kommer att skriva ut namnet på det valda varumärket.  Användaren måste trycka på Ctrl + c att avsluta från skriptet.

#!/ bin / bash
# Definiera menylistan här
välj varumärke i Samsung Sony iphone symphony Walton
do
eko "Du har valt $ brand"
Gjort

Produktion:

Kör manuset.

$ bash select1.sh

Följande utdata kommer att visas efter att manuset har körts och menypost 1 och 4 har valts.

Exempel 2: Välj kommando med ett falluttalande

Hur du kan skapa en bash-meny med falluttalande visas i detta exempel. Skapa en bash-fil med namnet välj2.sh med följande bash-skript. Efter att man har kört skriptet väljer användaren valfritt menyalternativ och falluttal matchar det valda värdet med ärendevärdet. Här används flera fallvärden för att matcha det valda menyalternativet. Om inget av fallvärdet överensstämmer med det valda menyalternativet skrivs "Ogiltig post" ut.

#!/ bin / bash
echo "Vilket operativsystem gillar du?"
# Operativsystemnamn används här som en datakälla
välj os i Ubuntu LinuxMint Windows8 Windows7 WindowsXP
do
fall $ os in
# Två fallvärden deklareras här för matchning
"Ubuntu" | "LinuxMint")
echo "Jag använder också $ os."
;;
# Tre fallvärden deklareras här för matchning
"Windows8" | "Windows10" | "Windows XP")
echo "Varför försöker du inte Linux?"
;;
# Matchar med ogiltiga data
*)
echo "Ogiltig post."
ha sönder
;;
esac
Gjort

Produktion:
Kör manuset.

$ bash select2.sh

De olika utgångarna visas för olika val. Här väljs 1 första gången som är Ubuntu. det matchade med första fallet skriv ut meddelandet "Jag använder också Ubuntu". 4 väljs nästa gång och menyalternativet är Windows7 men det finns inget fallvärde med detta namn. Så den här gången skrev den ut “Ogiltig post” och avsluta från skriptet.

Exempel 3: Skapa kapslad bash-meny

När någon meny skapas under den andras meny kallas den en kapslad meny. Den kapslade menyn kan skapas i basen genom att använda två eller flera val- och falluttalanden. Skapa en bash-fil med namnet välj3.sh med följande bash-skript. Här används två select- och case-uttalanden för att implementera den kapslade menyn. Föräldermenyn innehåller 4 objekt och undermenyn innehåller 3 objekt här.

#!/ bin / bash
medan det är sant
do
# Föräldermenyalternativen deklareras här
välj objekt i Musskrivare Monitor HDD
do
# case statement för att jämföra de första menyalternativen
fall $ artikel i
Mus)
eko "Vilken typ av bildskärm du gillar?"
;;
Skrivare)
# Undermenyalternativ deklareras här
välj underobjekt i Samsung HP Dell
do
# falluttalande för solmenyalternativ
fall $ sub_item in
Samsung)
eko "Priset på Samsung-skrivare är $ 100"
ha sönder
;;
HP)
eko "Den nya HP 880-skrivarens prisskrivare är 450 $"
# återgå till föräldermenyn
ha sönder
;;
Dell)
eko "Ingen Dell-skrivare är tillgänglig nu"
# återgå till föräldermenyn
bryta 2
;;
esac
Gjort
ha sönder
;;
Övervaka)
eko "Köp vår nya Samsung-skärm till låg kostnad"
bryt # återgå till aktuell (huvud) meny
;;
Hårddisk)
eko "HDD av god kvalitet finns i lager"
# retur från skriptet
bryta 2
esac
Gjort
Gjort

Produktion:

Kör manuset.

$ bash select3.sh

Efter att ha kört skriptet visas föräldermenyn med fyra objekt. Här innehåller endast det andra menyalternativet i överordnad meny undermeny. Efter att ha valt 2, dök undermenyn upp och när användaren valde 3, visade den matchande meddelande för menypost 3 och återvände till föräldramenyn.

Exempel 4: Skapa en bash-meny med en matris

En arrayvariabel kan lagra flera data. Så du kan använda en matris som en datalista för att skapa en basmeny. Hur du kan använda en array med ett select-uttalande för att skapa en meny visas i detta exempel. Skapa en bash-fil med namnet välj4.sh med följande bash-skript. Bash-underrutin används i detta skript för att skapa en meny från matrisen. En matris med tre element används och menu_from_array () kallas för att skapa menyn. Manuset kommer att kontrollera det valda menyalternativet är mellan 1-3 eller inte. Om siffran inte ligger inom detta intervall kommer den att instruera användaren att välja det inom detta intervall, det kommer att skriva ut menyalternativet med annan text.

menu_from_array ()

Välj föremål; do
# Kontrollera det valda menyalternativet
om [1-le "$ REPLY"] && ["$ REPLY" -le $ #];
sedan
echo "Det valda operativsystemet är $ item"
ha sönder;
annan
echo "Fel val: Välj valfritt nummer från 1 - $ #"
fi
Gjort

# Förklara matrisen
linux = ('Ubuntu' Linux Mint 'CentOS')
# Ring underrutinen för att skapa menyn
menu_from_array "$ linux [@]"

Produktion:

Kör manuset.

$ bash select4.sh

Här väljs 2 först som ligger inom intervallet och skrivs ut texten. 6 väljs andra gången som är utanför området och föreslår att användaren väljer ett nummer inom intervallet.

Slutsats

Bash-meny skapande uppgift med hjälp av en select uttalande förklaras i denna handledning så enkelt som möjligt. Hoppas, kodaren som är intresserad av att arbeta på bash menyn och lära sig bash select uttalande kommer att få hjälp från denna handledning. Tack.

Mus Lägg till musgester i Windows 10 med dessa gratisverktyg
Lägg till musgester i Windows 10 med dessa gratisverktyg
Under senare år har datorer och operativsystem utvecklats kraftigt. Det fanns en tid då användare var tvungna att använda kommandon för att navigera g...
Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...