Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: javier1212 en 3 Enero 2011, 18:08 pm



Título: [SOLUCIONADO] Problema con Bash
Publicado por: javier1212 en 3 Enero 2011, 18:08 pm
Hola,

el caso es que me interesa el mundo de la programacion y tal, y como dicen que para aprender lo mejor es Ubuntu, decidi cambiarme definitivamente a el (por cierto, muy contento con el cambio  :) ). Al cambiarme, estoy intentando pasar los programas simples que creé en Batch a Bash para que pueda ser leido por sistemas linux. Bueno, el problema surge al intentar hacer una calculadora muy simple: a la hora de hacer un pequeño menu, me doy cuenta de que no funciona. He buscado durante toda la tarde por Google y demas ejemplos de menu, pero el que tengo lo he comprobado con otros y segun estos esta bien... pero no va  :-\

El problema es ese, si lo habres sale el menu con las opciones, pero escribas el numero que escribas, el programa se cierra.

Código
  1. echo "Calc"
  2. echo
  3. echo "Eliga la operacion que desea realizar:"
  4. echo
  5. echo "1.Sumar"
  6. echo "2.Restar"
  7. echo "3.Multiplicar"
  8. echo "4.Dividir"
  9. echo
  10. echo "Escriba el numero de la opcion que desea realizar:"
  11. read num
  12. case $num in
  13.  
  14. 1)
  15. echo "Ha elegido sumar dos  numeros. Para ello, teclee el"
  16. echo "primer numero, pulse Enter y, a continuacion, teclee"
  17. echo "el segundo numero"
  18. echo
  19. echo "Escriba el primer numero:"
  20. read xsuma
  21. echo "Escriba el segundo numero:"
  22. read ysuma
  23. echo
  24. echo
  25. rsuma=(($xsuma+$ysuma))
  26. echo "  $xsuma"
  27. echo "+ $ysuma"
  28. echo "______________________"
  29. echo "  $rsuma"
  30. ;;
  31. *)
  32. echo "Error"
  33. ;;
  34. esac
  35. exit 20
  36.  

¿Alguna solucion?

Gracias por adelantado.


Título: Re: Problema con Bash
Publicado por: javier1212 en 4 Enero 2011, 01:59 am
Despues de muchas horas, lo he conseguido  ;-)

la solucion ha sido crear una funcion:

Código:
function pause(){
read -p "Presione cualquier tecla para salir..."
}

y esta ponerla al final de cada opcion

Gracias por el estupendo foro! (:


Título: Re: [SOLUCIONADO] Problema con Bash
Publicado por: leogtz en 4 Enero 2011, 07:46 am
Código
  1. #!/bin/bash
  2. # Menu de opciones con select
  3. OPCIONES="Hola Salir Lala"
  4. select opt in $OPCIONES
  5. do
  6. if [ "$opt" = "Salir" ];
  7. then
  8. echo done
  9. exit 0;
  10. elif [ "$opt" = "Hola" ];
  11. then
  12. echo Hola Mundo
  13. else
  14. clear
  15. echo opción errónea
  16. fi
  17. done
  18.  
  19.