[BASH] usar return en bash

Iniciado por ithory, 6 Noviembre 2012, 23:49 PM

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

ithory

Hola buenas, esta función cambia el pass de un pequeño programa que estoy haciendo:



Código (bash) [Seleccionar]
function cambiarpass(){
c=0
while (test $c -eq 0)
do
echo "Introduce una contraseña: "
read pass
echo "Confirma la contraseña: "
read pass2

if [ $pass = $pass2 ]
then
c=1 #para salir del bucle
fi

if [ $pass != $pass2 ]
then
echo "Las contraseñas no coindicen"
echo ""
fi

done #fin while
return $pass
}


Yo ahora si quiero usar esa nueva contraseña (variable pass) en el programa principal, como debería llamar a la funcion?

he probado: (en el main)

var=cambiarpass
o
var=$cambiarpass

pero ninguna funciona ya que en var deberia tener el valor de $pass.
como sería?

Saludos y gracias!

ithory

Bueno al parece esto no se puede hacer, la solucion que he encontrado a sido crear una variable global y al final de esa funcion darle el valor.
Asi se consigue el return.



-Myx-

Por defecto, en bash, todas las variables declaradas fuera o dentro de una función son globales.

Si bien podes hacerla local anteponiendo "local" a la declaración de la variable.