next up previous
Next: Linux para Programadores Up: Las estructuras de control Previous: Lazos

Condicional múltiple

También disponemos de una sentencia de control multicamino, en función de una única expresión.
switch (expresión)
case patrón1:
lista de comandos
breaksw
case patrón2:
case patrón3:
lista de comandos
breaksw
default:
lista de comandos por defecto
endsw
Ejemplo:



width 3pt
width .3pt415pt113 % cat menu.csh
#!/bin/csh
echo  PROGRAMA MENU
set stop = 0                # flag de terminación del programa
while ($stop == 0)
       cat << ENDOFMENU
       1    : Imprimir la fecha.
       2, 3 : Imprimir el directorio de trabajo.
       4    : Salir
ENDOFMENU
echo ""
echo -n 'Tu elección ? '
set reply = $<
echo ""
switch ($reply)
 case "1":
   date
   breaksw
 case "2":
 case "3":
   pwd
   breaksw
 case "4":
   set stop = 1
   breaksw
 default:
   echo Elección ilegal
   breaksw
 endsw
end
114 % menu.csh
PROGRAMA MENU
       1    : Imprimir la fecha.
       2, 3 : Imprimir el directorio de trabajo.
       4    : salir
Tu eleccion ? 1
Wed Apr 26 01:03:18 GMT 1995
       1    : Imprimir la fecha.
       2, 3 : Imprimir el directorio de trabajo.
       4    : salir
Tu eleccion ? 2
/home/guess
       1    : Imprimir la fecha.
       2, 3 : Imprimir el directorio de trabajo.
       4    : salir
Tu eleccion ? 3
/home/guess
       1    : Imprimir la fecha.
       2, 3 : Imprimir el directorio de trabajo.
       4    : salir
Tu eleccion ? 4
115 %
width .3pt
depth .3pt width -3pt


next up previous
Next: Linux para Programadores Up: Las estructuras de control Previous: Lazos
Vicente González Ruiz
1998-07-13