Requerimiento:
Se quiere crear un script que al momento de iniciar, muestre un menú con opciones.
Insumos:
En el ejemplo básico no es necesirio, pero se puede adaptar según sea necesario
# file.dat
saxsaxccewr
rgvreveevtv
Script:
Vamos a crear un shell script para mostrar un menú.
#############################################################################################
# Valida ZZZ config file
#############################################################################################
_menuOp_16()
{
valZZZConfigFile BEFORE
}
#############################################################################################
#############################################################################################
#############################################################################################
# Muestra el menu general
#############################################################################################
#############################################################################################
_menu()
{
echo "Select an option:"
echo ""
echo "**********************************"
echo "*************** ZZZ **************"
echo "**********************************"
echo "16) CONFIG FILE BEFORE"
echo "----------------------------------"
echo ""
echo ""
echo "99) Exit"
echo ""
echo -n "Indicate an option: "
}
#############################################################################################
#############################################################################################
#############################################################################################
#Variables
#############################################################################################
#############################################################################################
# opcion por defecto
opc="0"
tmpPath=/tmp
#varFile=$tmpPath/ed/varCgh.dat
#chg=$(awk ' { if ($2 ~ "chg") {print $1} } ' $varFile)
fecha=$(date +"%d%m%Y")
#server=$(hostname | cut -f 1 -d '.')
#oriIHSConfFile=$(grep $chg $varFile | awk ' { if ($2 ~ "^oriZZZConfFile$") {print $0} } ' | awk '{ $1=$2=""; print $0 }' | awk -F\' '{ print $2 }')
#############################################################################################
#############################################################################################
#############################################################################################
#Validacion previa
#############################################################################################
#############################################################################################
#############################################################################################
#############################################################################################
#############################################################################################
#Main
#############################################################################################
#############################################################################################
# bucle mientas la opcion indicada sea diferente de 9 (salir)
until [ "$opc" -eq "99" ];
do
case $opc in
1)
_menuOp_1
_menu
;;
2)
_menuOp_2
_menu
;;
3)
_menuOp_3
_menu
;;
4)
_menuOp_4
_menu
;;
5)
_menuOp_5
_menu
;;
*)
# Esta opcion se ejecuta si no es ninguna de las anteriores
clear
_menu
;;
esac
read opc
done
#############################################################################################
Resultado:
Al ejecutar el script anterior se muestra un menú con las opciones que se han agregado a la lista
Select an option:
**********************************
*************** ZZZ **************
**********************************
16) CONFIG FILE BEFORE
----------------------------------
99) Exit
Indicate an option: