Linux/Unix Shell Scripting - ¿switch en shell script?

 
Vista:
sin imagen de perfil

¿switch en shell script?

Publicado por sergio (1 intervención) el 21/11/2011 18:24:07
hola
estoy intentando hacer un menu como el siguiente en shell script:

echo "==============================="
echo " MENU"
echo "==============================="
echo "1)Informacion del usuario"
echo "2)iniciar kde"
echo "3)iniciar Gnome"
echo "4iniciar enlightement"
echo "0)Salir"

y lo que quiero hacer,que no me sale por mucho que lo intento, es como en el switch de c;que cuando se introducca una opcion que no sea 1,2,3,4 ó 0,salga un mensaje diciendo opcion incorrecta y vuelva a mostrar el menu.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

¿switch en shell script?

Publicado por xve (309 intervenciones) el 22/11/2011 00:11:10
Hola Sergio, aqui te adjunto parte de un menú desarrollado en bash, en el que únicamente sale del mismo si pulsa el numero 9...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function _menu()
{
  _header
  echo "Selecciona una opcion:"
  echo
  #Si pasamos un parametro, lo mostramos...
  if [ $# -eq 1 ];then
    echo "### $1 ###"
    echo
  fi
  echo "1) Crear copia de seguridad"
  echo "2) Restaurar copia de seguridad"
  echo "3) Preparar maquina per clonar"
  echo
  echo "9) Apagar maquina"
  echo
  echo -n "Indica una opcion: "
}
 
 
until [ $opc -eq 9 ]
do
  case $opc in
    1)
      _funcion1
      _menu
      ;;
    2)
      _funcion2
      _menu
      ;;
    3)
      _funcion3
      _menu
      ;;
    *)
      _menu
    ;;
  esac
 
  read opc
done
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿switch en shell script?

Publicado por sergio (1 intervención) el 22/11/2011 10:44:36
muchas gracias,me ha servido de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar