Lag bash -funksjoner med argumenter

Lag bash -funksjoner med argumenter

For å lage effektiv kode, brukes bash -funksjoner i skallskript. I hovedsak er dette et sett med instruksjoner som kan brukes igjen gjennom hele programmet. I tillegg gjør det at programmerere kan dele lange, komplekse skript i håndterbare biter som kan påberopes etter behov etter behov. I denne artikkelen vil vi gå gjennom hvordan vi kan gi et argument til en bash -funksjon for å bygge en funksjon med et argument. Parameteren kan være en streng, et heltall eller noe helt annet. Ulike metoder for å sende argumenter for å basere funksjoner vil bli brukt i denne artikkelen.

Passerende argument til bash -funksjonen

I denne delen vil vi vise deg hvordan du kan gi et argument for en bash -funksjon i Linux. Men først vil vi demonstrere hvordan vi kan lage en funksjon i bash. Bruk av funksjoner i bash -skripting er en fantastisk måte å gjenbruke innhold. En gruppe kommandoer som kan kalles gjentatte ganger i et bash -skript, kan bli referert til som en bash -modul. Funksjoner i bash er der for å gjøre programmene dine enklere å lese og forhindre at du kommer inn i det samme skriptet gjentatte ganger.

For å skrive programmet vil vi bruke bash -skallet, som er “#!/bin/bash.”På følgende linje vil vi definere en i hovedsak brukerdefinert funksjon, så vi vil gi den navnet vi ønsker. Her vil vi navngi funksjonen "func", og vi vil bruke de runde parentesene "()" som vi vet brukes med funksjoner. Vi vil deretter bruke krøllete parenteser inne i disse parentesene. Vi bruker “Echo” -kommandoen for å skrive ut uttalelsen som inneholder teksten “I Love My Country”, og fordi denne uttalelsen er innebygd i funksjonen, vises den i utgangen når funksjonen kalles. Funksjonen vil nå bli kalt på slutten av skriptet. Bare skriv inn metodens navn "func" uten parenteser for å oppnå dette.

#!/bin/bash
func ()
ekko “Jeg elsker landet mitt”

func

Kommandoen for å vise utgangen fra et bash -skript i terminalen vil nå bli lagt inn i terminalen. For å gjøre dette, vil vi først legge inn nøkkelordet "bash" etterfulgt av et rom, deretter navnet på bash -skriptet, "FileBash.sh ”.

Linux@Linux: ~/Desktop $ Bash FileBash.sh

Strengen som vi brukte i funksjonen “func” og ønsket å vises på skjermen etter å ha ringt funksjonen, vises når vi kjører denne kommandoen. Som du kan se, vises setningen "Jeg elsker landet mitt" på bildet nedenfor.

Nå, i det følgende avsnittet, vil vi gi et argument for bash -funksjonen. For å gjøre dette, konstruerer vi et skript i bash der vi først legger til skallet, som vi gjorde tidligere, og deretter definere en funksjon med navnet "Func1 ()," etterfulgt av krøllete parenteser. Funksjonens kropp er plassert i de krøllete parentesene. Derfor, inne i funksjonen til funksjonen, bruker vi “Echo” -kommandoen for å skrive ut funksjonsnavnet “Func1” og passere bashparameteren “$ 1”. Etter å ha forlatt funksjonens kropp, kaller vi den i følgende linje og passerer strengen “Goodluck” som et argument. Denne strengen holdes i variabelen “$ 1”.

#!/bin/bash
func1 ()
ekko “Func1 $ 1”

Func1 “Goodluck”

Skriptets utgang vises deretter på terminalen ved å skrive den samme kommandoen som også brukes i forrige trinn.

Linux@Linux: ~/Desktop $ Bash FileBash.sh

Som du kan se på bildet nedenfor, når vi kjørte denne kommandoen, viste det en uttalelse som inkluderte funksjonsnavnet “Func1”, så vel som strengen “Goodluck” som vi hadde levert som et argument til bash -funksjonen. Det vil bli lagret i parameteren “$ 1”.

Sende flere argumenter til bash -funksjonen

Mens denne delen ligner den før den, vil vi passere flere parametere her i stedet for et enkelt argument i den tidligere delen. For dette skal vi utvikle et manus der vi først legger til bash -skallet, som er "#!/bin/bash, ”. Deretter definerer du en funksjon med navnet “user_function ()”, etterfulgt av funksjonen til funksjonen, som er opprettet ved hjelp av krøllete parenteser. I mellom disse parentesene følger vi de identiske trinnene som i forrige seksjon, og legger inn utsagnet “user_function” som er navnet på funksjonen og parametrene “$ 1”, “$ 2”, “$ 3” og “$ 4” med “Echo” -kommando.

Deretter, i det følgende trinn, vil vi kalle funksjonen med argumentene ved å bruke navnet på funksjonen, "user_function", så vel som de fire strengene som utgjør argumentet: "Jeg", "kjærlighet", "min" og "land". Strengene må skrives med inverterte komma. Parametrene for bash vil bli erstattet med disse strengene som vi leverer som argumenter. Den første strengen blir lagret i "$ 1", den andre i "$ 2", den tredje i "$ 3" og den fjerde i "$ 4".

#!/bin/bash
user_function ()
ekko “user_function $ 1 $ 2 $ 3 $ 4”

user_function “Jeg” “kjærlighet” “My” “Country”

Nå skal vi bruke kommandoen til å åpne bashskriptet på terminalen ved å først skrive "bash" og deretter skriptets navn, "FileBash.sh ”.

Linux@Linux: ~/Desktop $ Bash FileBash.sh

Du kan se på bildet nedenfor at når kommandoen blir utført, viser den funksjonsnavnet "Brukerfunksjon", så vel som strengen "I Love My Country" som vi hadde levert som et argument i bash -funksjonen.

Bruke divisjonsmetoden i bash -funksjonen med et heltallsargument

I dette avsnittet vil vi dele et heltall ved hjelp av et bashskript og sende resultatet som innspill til funksjonen. For å oppnå dette, vil vi skrive et manus der vi først legger til bash -skallet som vi gjorde i forrige trinn. Definer deretter funksjonen "brukerfunksjon ()" og bruk deretter krøllete parenteser inni oss som vi definerer variabelen “Div” og lagrer divisjonsoperasjonen ved å bruke Dollar -tegnet “$.”Vi bruker deretter doble runde parenteser inni som vi bruker to parametere,“ $ 1 ”og“ $ 2 ”, og mellom disse to parametrene setter vi inn divisjonsoperatøren til å utføre divisjon.

Deretter bruker vi “Echo” -kommandoen på følgende linje, og passerer inngangsuttalelsen “Deling 60 med 10 er” så vel som argumentet “div” med verdien “$” fordi svaret på divisjonen er lagret i den. Verdiene vi bruker i divisjonen, “60” og “10”, vil bli sendt som argumenter til funksjonen når vi kaller den ved å bruke funksjonen “user_define.”

#!/bin/bash
user_function ()
div = $ (($ 1 / $ 2))
ekko “Deling 60 med 10 er: $ div”

user_function 60 10

Følgende kommando skal brukes til å vise utfallet på skjermen som det påfølgende trinnet.

Linux@Linux: ~/Desktop $ Bash FileBash.sh

Du kan se divisjonens utfall vist når vi kjører denne kommandoen. Utfallet er “6” som vist i uttalelsen, som sier “Divisjon 60 med 10 er: 6.”

Konklusjon

Denne artikkelen har diskutert hvordan du skriver en bash -funksjon i Linux som tar argumenter. I en bash -funksjon er forskjellige teknikker for å sende argumenter blitt definert. I den første delen av denne artikkelen dekket vi hvordan du skriver et manus i bash og bygger en funksjon, samt hvordan vi kan gi et enkelt argument til en funksjon. De mange parametrene blir levert til en bash -funksjon i andre omgang, og heltallsargumentet blir gitt i den siste delen for å utføre divisjon.