Cum se returnează un șir din funcțiile Bash

How Return String From Bash Functions



Funcțiile Bash nu pot returna valori ca alte limbaje de programare standard. Funcțiile Bash acceptă declarația return, dar utilizează o sintaxă diferită pentru a citi valoarea returnată. Puteți obține valoarea din funcțiile bash în diferite moduri. În acest tutorial, veți afla cum puteți transmite date șir din funcția bash către apelant utilizând diferite tipuri de sintaxi bash. Deschideți un editor de text pentru a testa următoarele exemple de funcții bash pentru a înțelege cum pot fi returnate valorile șir sau numerice din funcțiile bash.

Exemplu-1: Utilizarea variabilei globale

Funcția Bash poate returna o valoare șir utilizând o variabilă globală. În exemplul următor, o variabilă globală, „ retval ' este folosit. O valoare șir este atribuită și tipărită în această variabilă globală înainte și după apelarea funcției. Valoarea variabilei globale va fi modificată după apelarea funcției. Acesta este un mod de a returna valoarea șirului dintr-o funcție bash.







funcţieF1()
{
retval=„Îmi place să programez”
}

retval=„Urăsc programarea”
aruncat $ retval
F1
aruncat $ retval

Creați un fișier bash numit func1.sh cu codul de mai sus și rulați scriptul de la terminal. Aici, rezultatul „ Îmi place programarea ’Este atribuit și tipărit după apelul funcțional.





Exemplu-2: Utilizarea comenzii funcției

Puteți primi valoarea returnată a unei funcții bash și o puteți stoca într-o variabilă în momentul apelului. În exemplul următor, o variabilă locală, retval este utilizat și valoarea variabilei locale este returnată de funcție F2 este atribuit într-o variabilă globală, getval care se tipărește ulterior.





funcţieF2()
{
local retval=„Utilizarea funcției BASH”
aruncat '$ retval'
}

getval= $(F2)
aruncat $ getval

Creați un script bash numit func2.sh cu codul de mai sus și rulați scriptul.




Exemplul-3: Utilizarea variabilei

În exemplul următor, valoarea returnată a funcției este setată pe baza variabilei argument a funcției. Aici, o valoare este transmisă funcției F3 utilizând o variabilă argument, getval1 în momentul apelării funcției. După verificarea declarației condiționate, valoarea returnată este atribuită și tipărită.

funcţieF3()
{
local arg1=1 $

dacă [[ $ arg1 !='' ]];
atunci
retval=„Funcție BASH cu variabilă”
altceva
aruncat „Fără argument”
fi
}

getval1=„Funcția Bash”
F3$ getval1
aruncat $ retval
getval2= $(F3)
aruncat $ getval2

Creați un script bash numit func3.sh cu codul de mai sus și rulați scriptul.

Exemplul-4: Utilizarea declarației de returnare

Majoritatea limbajului de programare standard utilizează instrucțiunea return pentru a returna o valoare din funcție. Valorile funcției sunt returnate fără a utiliza nicio instrucțiune return în exemplele de mai sus. În exemplul următor, instrucțiunea return este utilizată pentru a returna o valoare numerică din funcție F4 . Aici, $? este folosit pentru a citi valoarea 35 care este returnată de funcția folosind întoarcere afirmație.

funcţieF4() {
aruncat „Declarație de returnare Bash”
întoarcere 35
}

F4
aruncat „Valoarea returnată a funcției este $?”

Creați un script bash numit func4.sh cu codul de mai sus și rulați scriptul.

Puteți utiliza funcțiile bash în diferite moduri pentru a returna orice șir sau valoare numerică după ce ați apelat funcția. Pentru mai multe informații vă rugăm să urmăriți videoclipul !