Hola buenas, esta función cambia el pass de un pequeño programa que estoy haciendo:
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!
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.
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.