Next: for ... do ...
Up: Estructuras de control
Previous: Estructuras de control
Así el shell soporta el salto multicamino en función de una única
comprobación de una cadena. Su sintaxis:
-
- case expresión in
patrón {| patrón}*
lista
;;
esac
Veamos un ejemplo:
width 3pt
width .3pt415pt$ cat case.sh
#! /bin/sh
echo menu test program
echo
stop=0 # flag de salida del bucle
while test $stop -eq 0 # el bucle
# cat coge como entrada estándar lo escrito entre las etiquetas
# END_OF_MENU, líneas que no pueden ir comentadas.
do
cat << END_OF_MENU
1: print the date
2,3: print the current working directory
4; exit
END_OF_MENU
echo
echo -n 'your choice ... '
read reply # leemos la entrada estándar
echo
case $reply in
"1")
date
;;
"2"|"3")
pwd
;;
"4")
stop=1
;;
*)
echo illegal choice
;;
esac
done
$ case.sh
menu test program
1: print the date
2,3: print the current working directory
4; exit
your choice ... 1
Wed Jul 17 18:59:41 GMT+0100 1996
1: print the date
2,3: print the current working directory
4; exit
your choice ... 5
illegal choice
1: print the date
2,3: print the current working directory
4; exit
your choice ... 4
$
width .3pt
depth .3pt
width -3pt
Vicente González Ruiz
1998-07-13