Hvordan returnere en streng fra Bash -funksjoner

How Return String From Bash Functions



Bash -funksjoner kan ikke returnere verdier som andre standard programmeringsspråk. Bash -funksjoner støtter returerklæring, men den bruker annen syntaks for å lese returverdien. Du kan få verdien fra bash -funksjoner på forskjellige måter. I denne opplæringen lærer du hvordan du kan overføre strengdata fra bash -funksjonen til den som ringer ved å bruke forskjellige typer bash -syntakser. Åpne et tekstredigeringsprogram for å teste følgende eksempler på bash -funksjoner for å forstå hvordan streng- eller numeriske verdier kan returneres fra bash -funksjoner.

Eksempel 1: Bruk av global variabel

Bash -funksjonen kan returnere en strengverdi ved å bruke en global variabel. I det følgende eksemplet, en global variabel, ' tilbakevending ' benyttes. En strengverdi tildeles og skrives ut i denne globale variabelen før og etter at funksjonen er kalt. Verdien av den globale variabelen vil bli endret etter at funksjonen er kalt. Dette er en måte å returnere strengverdi fra en bash -funksjon.







funksjonF1()
{
tilbakeslag='Jeg liker programmering'
}

tilbakeslag='Jeg hater programmering'
kastet ut $ retval
F1
kastet ut $ retval

Lag en bash -fil med navnet func1.sh med koden ovenfor og kjør skriptet fra terminalen. Her er utgangen ‘ Jeg liker programmering ’Tildeles og skrives ut etter funksjonsanrop.





Eksempel-2: Bruke funksjonskommando

Du kan motta returverdien for en bash -funksjon og lagre den i en variabel når du ringer. I det følgende eksemplet, en lokal variabel, tilbakeslag brukes og verdien av den lokale variabelen er retur av funksjonen F2 er tilordnet i en global variabel, getval som skrives ut senere.





funksjonF2()
{
lokal tilbakeslag='Bruke BASH -funksjon'
kastet ut '$ retval'
}

getval= $(F2)
kastet ut $ getval

Lag et bash -skript med navnet func2.sh med koden ovenfor og kjør skriptet.




Eksempel-3: Bruke variabel

I det følgende eksemplet settes returverdien for funksjonen basert på argumentvariabelen til funksjonen. Her overføres en verdi til funksjonen F3 ved å bruke en argumentvariabel, getval1 på tidspunktet for funksjonskall. Etter å ha kontrollert betinget uttalelse, blir returverdien tildelt og skrevet ut.

funksjonF3()
{
lokal arg1=$ 1

hvis [[ $ arg1 !='' ]];
deretter
tilbakeslag='BASH -funksjon med variabel'
ellers
kastet ut 'Ingen argumenter'
være
}

getval1='Bash -funksjon'
F3$ getval1
kastet ut $ retval
getval2= $(F3)
kastet ut $ getval2

Lag et bash -skript med navnet func3.sh med koden ovenfor og kjør skriptet.

Eksempel-4: Bruk av returerklæring

De fleste av standard programmeringsspråk bruker returoppgave for å returnere en verdi fra funksjonen. Funksjonsverdier returneres uten å bruke noen retursetning i eksemplene ovenfor. I det følgende eksemplet brukes retursetning for å returnere en numerisk verdi fra funksjonen F4 . Her, $? brukes til å lese verdien 35 som returneres av funksjonen med komme tilbake uttalelse.

funksjonF4() {
kastet ut 'Bash Return Statement'
komme tilbake 35
}

F4
kastet ut 'Returverdi for funksjonen er $?'

Lag et bash -skript med navnet func4.sh med koden ovenfor og kjør skriptet.

Du kan bruke bash -funksjoner på forskjellige måter for å returnere en streng eller numerisk verdi etter at du har ringt funksjonen. For mer informasjon vennligst se videoen !