elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [BASH] usar return en bash
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [BASH] usar return en bash  (Leído 3,686 veces)
ithory

Desconectado Desconectado

Mensajes: 14


Ver Perfil
[BASH] usar return en bash
« en: 6 Noviembre 2012, 23:49 pm »

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



Código
  1. function cambiarpass(){
  2. c=0
  3. while (test $c -eq 0)
  4. do
  5. echo "Introduce una contraseña: "
  6. read pass
  7. echo "Confirma la contraseña: "
  8. read pass2
  9.  
  10. if [ $pass = $pass2 ]
  11. then
  12. c=1 #para salir del bucle
  13. fi
  14.  
  15. if [ $pass != $pass2 ]
  16. then
  17. echo "Las contraseñas no coindicen"
  18. echo ""
  19. fi
  20.  
  21. done #fin while
  22. return $pass
  23. }

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!


« Última modificación: 7 Noviembre 2012, 00:00 am por ithory » En línea

ithory

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Re: [BASH] usar return en bash
« Respuesta #1 en: 7 Noviembre 2012, 19:07 pm »

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.




En línea

-Myx-

Desconectado Desconectado

Mensajes: 39



Ver Perfil
Re: [BASH] usar return en bash
« Respuesta #2 en: 16 Noviembre 2012, 04:38 am »

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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Scripts en BASH
Ejercicios
-EvilBuffer- 7 24,912 Último mensaje 23 Febrero 2010, 13:45 pm
por ^Tifa^
[Bash script] equivalente de goto en batch para bash (SOLUCIONADO)
Scripting
moikano→@ 4 16,503 Último mensaje 4 Noviembre 2010, 15:58 pm
por moikano→@
[Bash] Abrir un proceso o otro script bash en una nueva shell
Scripting
nhaalclkiemr 2 14,367 Último mensaje 27 Agosto 2011, 06:23 am
por nhaalclkiemr
/bin/bash!
GNU/Linux
prometheus48 3 3,858 Último mensaje 23 Enero 2012, 02:34 am
por leogtz
[bash] como abrir otra consola y mandarle instrucciones desde bash?
Scripting
aixeiger 2 5,402 Último mensaje 3 Diciembre 2012, 17:25 pm
por aixeiger
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines