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 !