Crear menús y diálogos con scripts bash – 1/8

He preparado una serie de ocho capítulos (si no se puede hacer muy pesado) en los cuales veremos como crear menús, menús con diálogos, box, cambiar colores, password box, check box y muchas más utilidades que podemos generar mediante un script bash. Tema interesante no debes perdértelo.

En este primer capitulo crearemos un menú con selector muy simple.

Crear menús y diálogos con scripts bash - 1/8 1

 

Creamos un script al que llamaremos «demo-menu.sh».

nano demo-menu.sh

Aquí te dejo el script demo-menu, recuerda que puedes modificarlo como quieras:
#!/bin/bash
# Demo-menu shell script
## ----------------------------------
# Define variables
# ----------------------------------
EDITOR=nano
PASSWD=/etc/passwd
RED='\033[0;41;30m'
STD='\033[0;0;39m'
 
# ----------------------------------
# User defined function
# ----------------------------------
pause(){
  read -p "Press [Enter] key to continue..." fackEnterKey
}

one(){
	echo "one() called"
        pause
}
 
# do something in two()
two(){
	echo "two() called"
        pause
}
 
# function to display menus
show_menus() {
	clear
	echo "~~~~~~~~~~~~~~~~~~~~~"	
	echo "  MENU-SOLOLINUX.ES  "
	echo "~~~~~~~~~~~~~~~~~~~~~"
	echo "1. Set Terminal"
	echo "2. Reset Terminal"
	echo "3. Exit"
}
# Lee la accion sobre el teclado y la ejecuta.
# Invoca el () cuando el usuario selecciona 1 en el menú.
# Invoca a los dos () cuando el usuario selecciona 2 en el menú.
# Salir del menu cuando el usuario selecciona 3 en el menú.
read_options(){
	local choice
	read -p "Enter choice [ 1 - 3] " choice
	case $choice in
		1) one ;;
		2) two ;;
		3) exit 0;;
		*) echo -e "${RED}Error...${STD}" && sleep 2
	esac
}
 
# ----------------------------------------------
# Trap CTRL+C, CTRL+Z and quit singles
# ----------------------------------------------
trap '' SIGINT SIGQUIT SIGTSTP
 
# -----------------------------------
# Main logic - infinite loop
# ------------------------------------
while true
do
 
	show_menus
	read_options
done

Una vez guardado no te olvides de concederle los permisos correctos:
chmod +x demo-menu.sh

Y ahora ya esta preparado para su ejecución:
./demo-menu.sh

# O bien..

bash demo-menu.sh

Continua en el siguiente articulo: —————>>>

 

Una respuesta

  1. Angel
    01/03/2019

Agregar comentario