case palabra in [ patrón1) ... lista1;; patrón2)... lista2;; ... ] ... esac
Compara el valor de la sentencia palabra con los distintos valores de patrones, cuando se encuentre una concordancia, se ejecuta la lista correspondiente. Tras la primera concordancia, no se intentan más. La pareja de puntos y comas (;;) sirve para delimitar una lista. El estado de salida es cero si no concuerda ningún patrón. De otro modo, es el estado de salida de la última orden ejecutada en lista. Es recomendable remplazar la sentencia if por case cuando la sentencia if tiene más de tres niveles de anidación
echo -n "Escriba una opción:"
read opcion
case "$opcion" in
d|D) date ;;
l|L) ls ;;
w|W) who;;
q|Q) exit 0 ;;
*) echo "opción invalida" ; exit 1 ;;
esac
Envíanos tús preguntas, comentarios o sugerencias