Hvordan returnere en streng fra bash -funksjoner

Hvordan returnere en streng fra bash -funksjoner

Bruk av bashfunksjon som returnerer en verdi

Bash -funksjoner kan ikke returnere verdier som andre standardprogrammeringsspråk. Bash -funksjoner støtter returerklæring, men den bruker forskjellig 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 sende strengdata fra bash -funksjon til den som ringer ved å bruke forskjellige typer bash -syntaks. Åpne en tekstredigerer for å teste følgende basefunksjonseksempler for å forstå hvordan streng eller numeriske verdier kan returneres fra bash -funksjoner.

Eksempel 1: Bruke global variabel

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

Funksjon F1 ()

retval = 'Jeg liker programmering'

retval = 'Jeg hater programmering'
Echo $ retval
F1
Echo $ retval

Lag en bash -fil som heter Func1.sh med koden ovenfor og kjør skriptet fra terminalen. Her, output 'Jeg liker programmering'er tildelt og skrevet ut etter funksjonsanrop.

Eksempel-2: Bruke funksjonskommando

Du kan motta returverdien til en bash -funksjon og lagre den i en variabel på det tidspunktet du ringer. I det følgende eksemplet en lokal variabel, Retval brukes og verdien av den lokale variabelen avkastes av funksjonen F2 er tildelt i en global variabel, getVal som skrives ut senere.

funksjon f2 ()

Lokal retval = 'Bruke bashfunksjon'
ekko "$ retval"

getVal = $ (f2)
Echo $ getVal

Lag et bash -skript som heter Func2.sh med koden ovenfor og kjør skriptet.


Eksempel-3: Bruke variabel

I det følgende eksempel er returverdien til funksjonen satt basert på argumentvariabelen til funksjonen. Her overføres en verdi til funksjonen F3 ved å bruke en argumentvariabel, getVal1 på funksjonstidspunktet. Etter å ha sjekket betinget erklæring, tildeles og skrives ut avkastningsverdien.

Funksjon F3 ()

Lokal Arg1 = $ 1
hvis [[$ arg1 != ""]];
deretter
retval = "bash -funksjon med variabel"
ellers
ekko "Ingen argumenter"
fi

getVal1 = "bash -funksjon"
F3 $ getVal1
Echo $ retval
getVal2 = $ (f3)
Echo $ getVal2

Lag et bash -skript som heter Func3.SH med koden ovenfor og kjør skriptet.

Eksempel-4: Bruke returerklæring

Det meste av standard programmeringsspråk bruker Returneringsuttalelse for å returnere en verdi fra funksjonen. Funksjonsverdiene returneres uten å bruke noen returuttalelse i eksemplene ovenfor. I det følgende eksemplet brukes returerklæring til å returnere en numerisk verdi fra funksjonen F4. Her, $? brukes til å lese verdien 35 som returneres av funksjonen ved hjelp av komme tilbake uttalelse.

funksjon f4 ()
ekko 'Bash Returnerklæring'
Returner 35

F4
ekko "Returverdi på funksjonen er $?""

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

Du kan bruke bash -funksjoner på forskjellige måter å returnere hvilken som helst streng eller numerisk verdi etter å ha ringt funksjonen. For mer informasjon, vennligst se videoen!