Hur man returnerar en sträng från basfunktioner

How Return String From Bash Functions



Bash -funktioner kan inte returnera värden som andra vanliga programmeringsspråk. Bash -funktioner stöder returseddel men det använder olika syntax för att läsa returvärdet. Du kan få värdet från bash -funktioner på olika sätt. I den här självstudien lär du dig hur du kan skicka strängdata från bash -funktionen till den som ringer med hjälp av olika typer av bash -syntaxer. Öppna en textredigerare för att testa följande bash -funktionsexempel för att förstå hur sträng- eller numeriska värden kan returneras från bash -funktioner.

Exempel 1: Använda global variabel

Bash -funktionen kan returnera ett strängvärde med hjälp av en global variabel. I följande exempel, en global variabel, ' retval ' är använd. Ett strängvärde tilldelas och skrivs ut i denna globala variabel före och efter att funktionen anropats. Värdet på den globala variabeln kommer att ändras efter att funktionen har anropats. Detta är ett sätt att returnera strängvärde från en bash -funktion.







fungeraF1()
{
retval='Jag gillar att programmera'
}

retval='Jag hatar programmering'
kastade ut $ retval
F1
kastade ut $ retval

Skapa en bash -fil med namnet func1.sh med ovanstående kod och kör skriptet från terminalen. Här är utgången ' Jag gillar att programmera ’Tilldelas och skrivs ut efter funktionssamtal.





Exempel-2: Använda funktionskommandot

Du kan ta emot returvärdet för en bash -funktion och lagra det i en variabel när du ringer. I följande exempel, en lokal variabel, retval används och värdet på den lokala variabeln är retur av funktionen F2 är tilldelad i en global variabel, getval som skrivs ut senare.





fungeraF2()
{
lokal retval='Använda BASH -funktion'
kastade ut '$ retval'
}

getval= $(F2)
kastade ut $ getval

Skapa ett bash -skript med namnet func2.sh med ovanstående kod och kör skriptet.




Exempel 3: Använda variabel

I följande exempel sätts returvärdet för funktionen baserat på funktionens argumentvariabel. Här överförs ett värde till funktionen F3 med hjälp av en argumentvariabel, getval1 vid tidpunkten för funktionsanrop. Efter att ha kontrollerat villkorlig tilldelning tilldelas och skrivs returvärdet ut.

fungeraF3()
{
lokal arg1=$ 1

om [[ $ arg1 !='' ]];
sedan
retval='BASH -funktion med variabel'
annan
kastade ut 'Inget argument'
vara
}

getval1='Bash -funktion'
F3$ getval1
kastade ut $ retval
getval2= $(F3)
kastade ut $ getval2

Skapa ett bash -skript med namnet func3.sh med koden ovan och kör skriptet.

Exempel-4: Använda returseddelande

De flesta av de vanliga programmeringsspråken använder returnering för att returnera ett värde från funktionen. Funktionsvärden returneras utan att använda någon returseddel i exemplen ovan. I följande exempel används returseddel för att returnera ett numeriskt värde från funktionen F4 . Här, $? används för att läsa värdet 35 som returneras av funktionen med lämna tillbaka påstående.

fungeraF4() {
kastade ut 'Bash Return Statement'
lämna tillbaka 35
}

F4
kastade ut 'Funktionens returvärde är $?'

Skapa ett bash -skript med namnet func4.sh med ovanstående kod och kör skriptet.

Du kan använda bash -funktioner på olika sätt för att returnera valfri sträng eller numeriskt värde efter att du har ringt funktionen. För mer information vänligen titta videon !