Cómo devolver una cadena de funciones Bash

How Return String From Bash Functions



Las funciones Bash no pueden devolver valores como otros lenguajes de programación estándar. Las funciones de Bash admiten la declaración de retorno, pero utiliza una sintaxis diferente para leer el valor de retorno. Puede obtener el valor de las funciones bash de diferentes formas. En este tutorial, aprenderá cómo pasar datos de cadena de la función bash al llamador mediante el uso de diferentes tipos de sintaxis bash. Abra un editor de texto para probar los siguientes ejemplos de funciones bash para comprender cómo se pueden devolver valores numéricos o de cadena desde funciones bash.

Ejemplo 1: uso de variable global

La función Bash puede devolver un valor de cadena mediante el uso de una variable global. En el siguiente ejemplo, una variable global, ' retval ' se utiliza. Se asigna un valor de cadena y se imprime en esta variable global antes y después de llamar a la función. El valor de la variable global se cambiará después de llamar a la función. Esta es una forma de devolver un valor de cadena de una función bash.







funciónF1()
{
retval='Me gusta programar'
}

retval='Odio programar'
echo $ retval
F1
echo $ retval

Crea un archivo bash llamado func1.sh con el código anterior y ejecute el script desde la terminal. Aquí, la salida ' Me gusta programar 'Se asigna e imprime después de la llamada a la función.





Ejemplo 2: Uso del comando de función

Puede recibir el valor de retorno de una función bash y almacenarlo en una variable en el momento de la llamada. En el siguiente ejemplo, una variable local, retval se utiliza y el valor de la variable local es devuelto por la función F2 se asigna en una variable global, getval que se imprime más tarde.





funciónF2()
{
local retval='Uso de la función BASH'
echo '$ retval'
}

getval=$(F2)
echo $ getval

Cree un script de bash llamado func2.sh con el código anterior y ejecute el script.




Ejemplo 3: uso de variable

En el siguiente ejemplo, el valor de retorno de la función se establece en función de la variable de argumento de la función. Aquí, se pasa un valor a la función F3 utilizando una variable de argumento, getval1 en el momento de la llamada a la función. Después de verificar la declaración condicional, el valor de retorno se asigna e imprime.

funciónF3()
{
local arg1=$1

si [[ $ arg1 !='' ]];
luego
retval='Función BASH con variable'
demás
echo 'Sin argumento'
ser
}

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

Cree un script bash llamado func3.sh con el código anterior y ejecútelo.

Ejemplo 4: uso de declaración de devolución

La mayoría del lenguaje de programación estándar usa una declaración de retorno para devolver un valor de la función. Los valores de función se devuelven sin utilizar ninguna declaración de retorno en los ejemplos anteriores. En el siguiente ejemplo, la instrucción return se usa para devolver un valor numérico de la función F4 . Aquí, $? se usa para leer el valor 35 que es devuelto por la función usando regreso declaración.

funciónF4() {
echo 'Declaración de devolución de Bash'
regreso 35
}

F4
echo '¿El valor de retorno de la función es $?'

Cree un script de bash llamado func4.sh con el código anterior y ejecute el script.

Puede utilizar las funciones bash de varias formas para devolver cualquier cadena o valor numérico después de llamar a la función. Para obtener más información, mire el video !