[SOLUCIONADO] Problema con Bash

Iniciado por javier1212, 3 Enero 2011, 18:08 PM

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

javier1212

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 (bash) [Seleccionar]

echo "Calc"
echo
echo "Eliga la operacion que desea realizar:"
echo
echo "1.Sumar"
echo "2.Restar"
echo "3.Multiplicar"
echo "4.Dividir"
echo
echo "Escriba el numero de la opcion que desea realizar:"
read num
case $num in

1)
echo "Ha elegido sumar dos  numeros. Para ello, teclee el"
echo "primer numero, pulse Enter y, a continuacion, teclee"
echo "el segundo numero"
echo
echo "Escriba el primer numero:"
read xsuma
echo "Escriba el segundo numero:"
read ysuma
echo
echo
rsuma=(($xsuma+$ysuma))
echo "  $xsuma"
echo "+ $ysuma"
echo "______________________"
echo "  $rsuma"
;;
*)
echo "Error"
;;
esac
exit 20


¿Alguna solucion?

Gracias por adelantado.

javier1212

Despues de muchas horas, lo he conseguido  ;-)

la solucion ha sido crear una funcion:


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


y esta ponerla al final de cada opcion

Gracias por el estupendo foro! (:

leogtz

Código (bash) [Seleccionar]
#!/bin/bash
# Menu de opciones con select
OPCIONES="Hola Salir Lala"
select opt in $OPCIONES
do
if [ "$opt" = "Salir" ];
then
echo done
exit 0;
elif [ "$opt" = "Hola" ];
then
echo Hola Mundo
else
clear
echo opción errónea
fi
done
         
Código (perl) [Seleccionar]

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

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