BASH – SCRIPT CAPTURAR LA OPCIÓN INVÁLIDA.-

Imaginemos este escenario: el usuario se encuentra con un menú de opciones delante y la imposibilidad de elegir la indicada, puesto desconoce la utilidad de cada una. El script espera una entrada del usuario pero el usuario necesita conocer el número de versión del script antes de decidir qué opción elegir. ¿Cómo se entera del número de versión sin salir del script? Podría ofrecerse la misma como una opción más del menú pero sin embargo, se estaría desvirtuando la finalidad del programa. En cambio, un argumento ingresado en la entrada estándar, podría solucionar el problema. Se puede capturar la respuesta del usuario accediendo a la variable de contexto $REPLY

#!/bin/bash
OPCIONES="Abrir Cerrar Editar Borrar Guardar Salir"
PS3="Elija una opción: "
select opcion in $OPCIONES; do
if [ $opcion ]; then
case $opcion in
Abrir)
echo "Esto abre un archivo"
;;
Cerrar)
echo "Eso cierra un archivo"
;;
Salir)
echo "Esto sale del programa"
exit
;;
esac
break
else
case $REPLY in
-h|--help)
echo "Ayuda sobre el programa"
;;
-v|--version)
echo "mi-programa versión 1.0.1"
;;
-q|\q)
exit
;;
*)
echo "Opción inválida"
esac
fi
done
ACERTIJO
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.