Foros del Web » Administración de Sistemas » Unix / Linux »

menu shell script

Estas en el tema de menu shell script en el foro de Unix / Linux en Foros del Web. hola, estoy dando vueltas al tema y no encuentro como poder hacer lo siguiente. tengo un menú en shell script, el cual al usuario le ...
  #1 (permalink)  
Antiguo 07/07/2006, 05:44
 
Fecha de Ingreso: junio-2003
Mensajes: 122
Antigüedad: 20 años, 11 meses
Puntos: 0
menu shell script

hola,

estoy dando vueltas al tema y no encuentro como poder hacer lo siguiente.
tengo un menú en shell script, el cual al usuario le permite introducir una serie de datos tipo que se almacenan en una bb.dd.
el caso es que en uno de los menus que pueda escribir el usuario quiero restringir/controlar lo que escriba y si introduce algo de lo que no permito, le vuelva a preguntar...

este es el codigo que tengo, pero no encuentro forma para darle que controle lo que escribes:
igualmente quiero que cuando escriba bien el valor, continue ejecutandose el script...


Código:
 echo -en "modelo tlfno:"
  read speed
 case $tlfno in
    1) echo
     tlfno
        ;;
    2) echo "nokia bla..bla."
        ;;
    3) echo "motorola blalbla."
        ;;
    *) echo "siemens"
 read tlfno
        ;;
esac
  echo

gracias por la ayuda..!!

startwa
  #2 (permalink)  
Antiguo 03/08/2009, 01:08
 
Fecha de Ingreso: agosto-2009
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: menu shell script

el tema que planteas se puede solucionar con bucles while, que mientras se escriba algo diferente a lo que quieres se repita. Me explico, si quieres restringir tu entrada a una respuesta si o no, por ejemplo:

echo "continuar?"
read resp
while [ "$resp" != "no" ]
do
.....
read resp
done

si lo que quieres es hacer algo mas curioso, hay que utilizar patrones. los patrones son modelos de la palabara que quieres que se introduza. si por ejemplo quieres un mail un ejemplo podría ser este patrón: [a-z]*@[a-z.]

o imaginate que lo que quieres es un numero de telefono movil..n un ejemplo sería: "^6[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$|^0$" en donde le estamos diciendo que la cadena empieza por 6 seguido de numeros y terminado en numero, este aptron tambien admite un unico 0. Una vez elegido el patrón, lees la variable de entrada y comparas...

Espero que te sirva. Saludos
  #3 (permalink)  
Antiguo 03/08/2009, 03:36
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 10 meses
Puntos: 76
Respuesta: menu shell script

Se agradece tu buena voluntad, pero la pregunta a la que estás contestando fue formulada hace tres años, así que de poco le servirá ahora tu solución. La próxima vez fíjate en la fecha del tema al que contestas.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:27.