Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: d00ze13 en 12 Mayo 2011, 18:57 PM

Título: Pasar y recibir parametros de una funcion [Bash]
Publicado por: d00ze13 en 12 Mayo 2011, 18:57 PM
Pues querria saber como se pueden pasar variables a una funcion en bash y que retorne tambien datos por ejemplo un entero en plan:

function suma(){
   let a+=5
}
a=3
var=suma(a)
echo $var
Título: Re: Pasar y recibir parametros de una funcion [Bash]
Publicado por: leogtz en 13 Mayo 2011, 01:00 AM
Al igual que otros lenguajes de programación, bash tiene una sentencia return con la cual retornar un valor entero.

El valor retornado quedará en la variable $?.

Código (bash) [Seleccionar]
#!/bin/bash
function suma()
{
#((resultado = $1 + $2))
let "resultado=$1 + $2"
return $resultado;
}

suma 2 3
echo -e "Resultado = $?";


Otro ejemplo, usando $? implicitamente con ejecución condicional:

Código (bash) [Seleccionar]
function isPositive()
{
(($1 > 0)) && return 0 || return 1;
}

isPositive 2 && {
echo -e "Es positivo";
}


Saludos.