Linux-kommandoer

Bash Velg kommando

Bash Velg kommando
'Å velgekommando er en veldig nyttig bash-kommando for oppretting av bash-menyer. Ulike typer menygenereringsoppgaver, lage menybasert regissørliste, lage en meny fra filinnhold osv. kan gjøres ved hjelp av bash select-kommandoen. Hvordan du kan implementere denne typen oppgaver ved hjelp av bash select-kommandoen, vises i denne veiledningen.

Syntaks:

velg v i data_list
gjøre
uttalelse 1
Erklæring2
Erklæring3
ferdig

Her vil menyelementet opprettes fra datalisten som kan være en matrise eller annen datakilde. Hvert menyelement hentes fra data_listen og lagres i en variabel for å lage menyen. 'Select' kommando kan brukes med 'case' kommando også for å lage menyen. Ulike typer menyopprettingsoppgaver vises her ved hjelp av veldig enkle eksempler.

Eksempel 1: Opprette en enkel meny

Opprett en bash-fil med navnet velg 1.sh med følgende bash-skript. Her, 'å velge' kommandoen vil hente hver data fra listen og skrive ut dataene som en meny. Følgende skript inneholder merkenavnene på mobiltelefoner, og etter at skriptet er utført, vil det opprette en meny med mobilmerker og be brukeren om å velge hvilket som helst merke. Det vil skrive ut navnet på det valgte merket.  Brukeren må trykke Ctrl + c å avslutte fra manuset.

#!/ bin / bash
# Definer menylisten her
velg merke i Samsung Sony iphone symphony Walton
gjøre
ekko "Du har valgt $ brand"
ferdig

Produksjon:

Kjør skriptet.

$ bash select1.sh

Følgende utdata vises etter å ha kjørt skriptet og valgt menyelement nummer 1 og 4.

Eksempel 2: Velg kommando med en saksuttalelse

Hvordan du kan lage en bash-meny med saksuttalelse vises i dette eksemplet. Opprett en bash-fil med navnet velg2.sh med følgende bash-skript. Etter å ha kjørt skriptet, vil brukeren velge hvilket som helst menyelement, og saksuttalelse vil matche den valgte verdien med saksverdien. Her brukes flere saksverdier for samsvar med det valgte menyelementet. Hvis ingen av saksverdiene stemmer overens med det valgte menyelementet, vil "Ugyldig oppføring" skrives ut.

#!/ bin / bash
ekko "Hvilket operativsystem liker du?"
# Operativsystemnavn brukes her som datakilde
velg os i Ubuntu LinuxMint Windows8 Windows7 WindowsXP
gjøre
tilfelle $ os i
# To saksverdier er deklarert her for samsvar
"Ubuntu" | "LinuxMint")
ekko "Jeg bruker også $ os."
;;
# Tre saksverdier er deklarert her for samsvar
"Windows8" | "Windows10" | "Windows XP")
ekko "Hvorfor prøver du ikke Linux?"
;;
# Matching med ugyldige data
*)
ekko "Ugyldig oppføring."
gå i stykker
;;
esac
ferdig

Produksjon:
Kjør skriptet.

$ bash select2.sh

De forskjellige utgangene vises for forskjellige valg. Her er 1 valgt første gang det er Ubuntu. den matchet med første saksverdi, skriv ut meldingen "Jeg bruker også Ubuntu". 4 velges neste gang og menyelementet er Windows 7 men det er ingen saksverdi med dette navnet. Så denne gangen ble den skrevet ut "Ikke godkjent inngang" og avslutt fra skriptet.

Eksempel 3: Opprette nestet bash-meny

Når en meny blir opprettet under den andres meny, kalles den en nestet meny. Den nestede menyen kan opprettes i basen ved hjelp av to eller flere utvalgs- og saksuttalelser. Opprett en bash-fil med navnet velg 3.sh med følgende bash-skript. Her brukes to utvalgs- og saksuttalelser for å implementere den nestede menyen. Foreldermenyen inneholder 4 elementer og undermenyen inneholder 3 elementer her.

#!/ bin / bash
mens det er sant
gjøre
# Overordnede menyelementer deklarert her
velg element i Museskriverovervåking HDD
gjøre
# case statement for å sammenligne de første menyelementene
tilfelle $ element i
Mus)
ekko "Hvilken type skjerm du liker?"
;;
Skriver)
# Delmenyelementer her deklarert her
velg sub_item i Samsung HP Dell
gjøre
# case statement for solmenyelementer
tilfelle $ sub_item i
Samsung)
ekko "Prisen på Samsung-skriveren er $ 100"
gå i stykker
;;
HP)
ekko "Nye HP 880-skriverprisen er $ 450"
# gå tilbake til foreldermenyen
gå i stykker
;;
Dell)
ekko "Ingen Dell-skrivere er tilgjengelig nå"
# gå tilbake til foreldermenyen
pause 2
;;
esac
ferdig
gå i stykker
;;
Observere)
ekko "Kjøp vår nye Samsung-skjerm til en lav pris"
pause # gå tilbake til gjeldende (hoved) meny
;;
HDD)
ekko "HDD av god kvalitet er tilgjengelig på lager"
# retur fra skriptet
pause 2
esac
ferdig
ferdig

Produksjon:

Kjør skriptet.

$ bash select3.sh

Etter å ha kjørt skriptet, vises foreldermenyen med 4 elementer. Her inneholder bare det andre menyelementet på foreldermenyen undermeny. Etter å ha valgt 2, dukket undermenyen opp, og når brukeren valgte 3, viste den samsvarende meldingen til menypunkt 3 og returnerte tilbake til foreldermenyen.

Eksempel 4: Lag en bash-meny med en matrise

En arrayvariabel kan lagre flere data. Så du kan bruke en matrise som en dataliste for å lage en basemeny. Hvordan du kan bruke en matrise med en valgt setning for å lage en meny, vises i dette eksemplet. Opprett en bash-fil med navnet velg 4.sh med følgende bash-skript. Bash subrutine brukes i dette skriptet for å lage en meny fra matrisen. Det brukes en matrise med tre elementer og menu_from_array () kalles for å lage menyen. Skriptet vil sjekke det valgte menyelementet er mellom 1-3 eller ikke. Hvis nummeret ikke er innenfor dette området, vil det instruere brukeren om å velge det innenfor dette området, det vil skrive ut menyelementet med annen tekst.

menu_from_array ()

Velg en; gjøre
# Kontroller det valgte menyelementnummeret
hvis [1-le "$ REPLY"] && ["$ REPLY" -le $ #];
deretter
ekko "Det valgte operativsystemet er $ item"
gå i stykker;
ellers
ekko "Feil valg: Velg hvilket som helst tall fra 1 - $ #"
fi
ferdig

# Erklær matrisen
linux = ('Ubuntu' 'Linux Mint' 'CentOS')
# Ring underrutinen for å lage menyen
menu_from_array "$ linux [@]"

Produksjon:

Kjør skriptet.

$ bash select4.sh

Her blir 2 valgt først som er innenfor området og skrevet ut teksten. 6 er valgt andre gang som er utenfor rekkevidde, og foreslår at brukeren velger et tall innenfor området.

Konklusjon

Oppretting av bash-menyen ved å bruke en valgt uttalelse blir forklart i denne opplæringen så enkelt som mulig. Håper, koderen som er interessert i å jobbe på bash-menyen og lære bash select uttalelse vil få hjelp fra denne opplæringen. Takk skal du ha.

Hvordan bruke AutoKey til å automatisere Linux-spill
AutoKey er et desktopautomatiseringsverktøy for Linux og X11, programmert i Python 3, GTK og Qt. Ved å bruke skript og MACRO-funksjonalitet kan du aut...
Hvordan vise FPS-teller i Linux-spill
Linux-spill fikk et stort press da Valve kunngjorde Linux-støtte for Steam-klient og spillene deres i 2012. Siden den gang har mange AAA- og indiespil...
Hvordan laste ned og spille Sid Meier's Civilization VI på Linux
Introduksjon til spillet Civilization 6 er et moderne syn på det klassiske konseptet som ble introdusert i serien av Age of Empires-spillene. Ideen va...