Pasar y recibir parametros de una funcion [Bash]

Iniciado por d00ze13, 12 Mayo 2011, 18:57 PM

0 Miembros y 1 Visitante están viendo este tema.

d00ze13

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

leogtz

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.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com