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
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 |
#!/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 |