Linux-kommandoer

Linux getopts Eksempel

Linux getopts Eksempel
"Getopts" er en veldig nyttig kommando i Linux som for det meste er innlemmet i bash-skript for å ta flagg og argumenter som innganger fra brukeren. For å videreutdype bruken av denne kommandoen i Linux Mint 20, vil vi dele med deg to forskjellige eksempler på bruken i denne artikkelen.

"Getopts" Eksempler i Linux Mint 20:

For en enklere og bedre forståelse av "getopts" -kommandoen i Linux Mint 20, har vi designet to eksempler for deg. Før du går videre til disse scenariene, kan du sjekke ut hjelpemanualen til kommandoen “getopts” i Linux Mint 20-terminalen, slik at du kan få den grunnleggende ideen om syntaksen til denne kommandoen. Du kan se hjelpemanualen til denne kommandoen ved å utføre kommandoen “help”:

$ getopts - hjelp

Hjelpemanualen til "getopts" -kommandoen inneholder en kort beskrivelse av bruken av denne kommandoen sammen med syntaksen som vist i bildet nedenfor:

Nå når vi har gått gjennom hjelpemanualen til "getopts" -kommandoen, kan vi fortsette med eksemplene våre på følgende måte:

Sak nr. 1: Overføring av flagg til et Bash-skript for utføring i Linux Mint 20:

I dette eksemplet skal vi lage et bash-skript som tar et flagg som input fra brukeren sammen med kommandoen for utførelse av det bash-skriptet. Avhengig av verdien på det medfølgende flagget, vises den respektive utgangen. Den detaljerte beskrivelsen av trinnene som er involvert i dette scenariet er som følger:

Trinn 1: Skrive et Bash-skript:

Først vil vi skrive et bash-skript i hjemmekatalogen vår. Vi har kalt denne filen som getopts.sh. Innholdet i dette bash-skriptet vises i bildet nedenfor. I bash-skriptet vist nedenfor har vi en "while" -løkke som kjører på "getopts" -kommandoen. Her brukes denne "getopts" -kommandoen til å ta et flagg som input fra brukeren. Verdien på dette flagget kan enten være “r”, “y” eller “g” som representerer henholdsvis “rød”, “gul” og “grønn” farge. Varianten "alternativ" vil bli brukt til å lagre verdien av flagget som er gitt av brukeren. Deretter har vi brukt en "case" uttalelse om verdien av det oppgitte flagget som vil vise en tilpasset melding avhengig av verdien av "option" flagget. Til slutt har vi lukket "case" -blokken med "esac" -uttalelsen og "do" -blokken med "done" -uttalelsen.

Trinn 2: Testing av Bash-skriptet:

Etter å ha opprettet og lagret vårt bash-skript, er det nå på tide å kjøre det. Vi skal teste alle sakene en etter en. Først vil vi kjøre bash-skriptet med “-r” -flagget for å se om det gir riktig utgang eller ikke på følgende måte:

$ bash getopts.sh -r

Den tilpassede utgangen av vårt bash-skript med “-r” -flagget vises i bildet nedenfor:

Nå vil vi kjøre bash-skriptet med “-y” -flagget for å se om det gir riktig utgang eller ikke på følgende måte:

$ bash getopts.sh -y

Den tilpassede utgangen av vårt bash-skript med “-y” -flagget vises i bildet nedenfor:

Nå vil vi kjøre bash-skriptet med “-g” -flagget for å se om det gir riktig utgang eller ikke på følgende måte:

$ bash getopts.sh -g

Den tilpassede utgangen av vårt bash-skript med “-g” -flagget vises i bildet nedenfor:

Til slutt vil vi kjøre vårt bash-skript med hvilket som helst tilfeldig flagg, jeg.e. et flagg som ikke er gyldig eller et flagg som ikke er nevnt i vårt bash-skript sier “-a” på følgende måte:

$ bash getopts.sh -a

Denne gangen er standardtilfellet for vårt bash-skript utført som har vist en feilmelding siden vi har brukt et ugyldig flagg.

Tilfelle nr. 2: Overføring av flagg sammen med argumenter for et Bash-skript for utføring i Linux Mint 20:

I dette eksemplet lager vi et bash-skript som tar et flagg og et argument som input fra brukeren sammen med utførelseskommandoen for det bash-skriptet. Avhengig av verdien av det oppgitte flagget og argumentet, vil den respektive utdata produseres. Den detaljerte beskrivelsen av trinnene som er involvert i dette scenariet er som følger:

Trinn 1: Skrive et Bash-skript:

Bash-skriptet som brukes i denne saken, vises i bildet nedenfor og ligner veldig på det vi opprettet for saken vår # 1. Den eneste forskjellen er at vi denne gangen ikke tillater flere flagg. Brukeren har bare lov til å angi “-r” -flagget. Imidlertid indikerer kolonet ":" etter "r" -flagget i bash-skriptet at brukeren også skal gi et argument sammen med flagget. Dette argumentet lagres i standardvariabelen “OPTARG”. For å vise verdien av det oppgitte argumentet med "ekko" -kommandoen, har vi brukt et "$" -symbol før "OPTARG" -variabelen.

Trinn 2: Testing av Bash-skriptet:

Etter å ha lagret dette bash-skriptet, er det nå på tide å teste det. Igjen vil vi teste alle sakene en etter en. Først vil vi kjøre bash-skriptet med “-r” -flagget og et eksempelargument “svart” for å se om det gir riktig utgang eller ikke på følgende måte:

$ bash getopts.sh -r svart

Den tilpassede utgangen av vårt bash-skript med “-r” -flagget og “svart” -argumentet vises i bildet nedenfor:

Nå skal vi teste dette skriptet med et ugyldig flagg og et gyldig argument på følgende måte:

$ bash getopts.sh-en svart

Denne gangen er standardtilfellet for vårt bash-skript utført som har vist en feilmelding siden vi har brukt et ugyldig flagg.

Nå vil vi kjøre dette bash-skriptet mens vi utelater flagget og bare sender et gyldig argument på følgende måte:

$ bash getopts.sh svart

Denne gangen vil ingen produksjon produseres på terminalen, eller med andre ord, vårt bash-skript vil ikke kjøres siden vi har hoppet over et obligatorisk flagg.

Til slutt vil vi kjøre dette bash-skriptet mens vi utelater argumentet og bare sender det gyldige flagget på følgende måte:

$ bash getopts.sh -r

Igjen denne gangen, er standardtilfelle for vårt bash-skript utført som har vist en feilmelding siden vi har hoppet over det obligatoriske argumentet.

Konklusjon:

Disse to eksemplene er en veldig fin skildring av bruken av "getopts" -kommandoen i et bash-skript i Linux Mint 20. Du kan til og med lage mer komplekse scenarier i bash og koble dem sammen med kommandoen "getopts" for å ta mer enn ett argument og flagg fra brukeren som innganger.

OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...
OpenTTD Tutorial
OpenTTD er et av de mest populære forretningssimuleringsspillene der ute. I dette spillet må du lage en fantastisk transportvirksomhet. Du begynner im...
SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...