Com tornar una cadena de funcions de Bash

How Return String From Bash Functions



Bash Functions no pot retornar valors com altres llenguatges de programació estàndard. Les funcions Bash admeten declaracions de retorn, però utilitza una sintaxi diferent per llegir el valor de retorn. Podeu obtenir el valor de les funcions bash de diferents maneres. En aquest tutorial, aprendreu com podeu passar dades de cadenes de la funció bash a la persona que truca mitjançant diferents tipus de sintaxis bash. Obriu un editor de text per provar els següents exemples de funcions bash per entendre com es poden retornar els valors numèrics o de cadena de les funcions bash.

Exemple-1: utilització de la variable global

La funció Bash pot retornar un valor de cadena mitjançant una variable global. A l'exemple següent, una variable global, ' retval ' s'utilitza. S'assigna i s'imprimeix un valor de cadena en aquesta variable global abans i després de trucar a la funció. El valor de la variable global es canviarà després de trucar a la funció. Aquesta és una manera de retornar el valor de la cadena d'una funció bash.







funcióF1()
{
retval='M'agrada programar'
}

retval='Odio la programació'
trobo $ retval
F1
trobo $ retval

Creeu un fitxer bash anomenat func1.sh amb el codi anterior i executeu l'script des del terminal. Aquí, la sortida ' M’agrada programar ’S’assigna i s’imprimeix després de la trucada de funció.





Exemple-2: utilitzant l'ordre de funció

Podeu rebre el valor de retorn d’una funció bash i emmagatzemar-lo en una variable en el moment de trucar. A l'exemple següent, una variable local, retval s'utilitza i el valor de la variable local és retornat per la funció F2 s'assigna en una variable global, getval que s’imprimeix més tard.





funcióF2()
{
local retval='Ús de la funció BASH'
trobo '$ retval'
}

getval= $(F2)
trobo $ getval

Creeu un script bash anomenat func2.sh amb el codi anterior i executeu l'script.




Exemple-3: utilització de la variable

A l'exemple següent, el valor de retorn de la funció s'estableix en funció de la variable d'argument de la funció. Aquí, es passa un valor a la funció F3 mitjançant una variable d'argument, getval1 en el moment de la crida a la funció. Després de comprovar la sentència condicional, s'assigna i s'imprimeix el valor de retorn.

funcióF3()
{
local arg1=$ 1

si [[ $ arg1 !='' ]];
llavors
retval='Funció BASH amb variable'
en cas contrari
trobo 'Sense argument'
ser
}

getval1='Funció Bash'
F3$ getval1
trobo $ retval
getval2= $(F3)
trobo $ getval2

Creeu un script bash anomenat func3.sh amb el codi anterior i executeu l'script.

Exemple-4: Ús de la declaració de retorn

La majoria del llenguatge de programació estàndard utilitza la declaració return per retornar un valor de la funció. Els valors de les funcions es retornen sense utilitzar cap instrucció return als exemples anteriors. A l'exemple següent, la sentència return s'utilitza per retornar un valor numèric de la funció F4 . Aquí, $? s'utilitza per llegir el valor 35 que la funció retorna mitjançant tornar declaració.

funcióF4() {
trobo 'Declaració de devolució de Bash'
tornar 35
}

F4
trobo 'El valor de retorn de la funció és $?'

Creeu un script bash anomenat func4.sh amb el codi anterior i executeu l'script.

Podeu utilitzar les funcions bash de diverses maneres per tornar qualsevol cadena o valor numèric després de trucar a la funció. Per obtenir més informació, vegeu el vídeo !