En Linux, la mayor parte del tiempo, automatizamos las cosas usando los scripts de bash. Algunas secuencias de comandos solo tienen una funcionalidad, pero algunas secuencias de comandos pueden realizar más de una función. Para eso, tenemos que proporcionar el menú para seleccionar la opción que función se debe realizar ahora. Este script se denomina Programas controlados por menús.
Comandos libres: este comando muestra la cantidad total de espacio libre disponible junto con la cantidad de memoria utilizada y la memoria de intercambio en el sistema, y también los búferes utilizados por el núcleo.
Sintaxis:
$free [OPTION]
Opción: se refiere a las opciones compatibles con el mando libre.
Ejemplo:
Comandos df: el comando df (abreviatura de disco libre) se utiliza para mostrar información relacionada con los sistemas de archivos sobre el espacio total y el espacio disponible.
Sintaxis:
df [OPTION]... [FILE]...
Ejemplo:
Veamos el algoritmo básico del programa controlado por menú:
- Primero, cree todas las funciones en el script que realiza el script bash
- Luego, debemos proporcionar el menú al usuario desde el cual el usuario debe seleccionar la opción. Para eso, cree una función como mostrar menú que contenga todas las opciones con el nombre de la función.
- Ahora necesitamos leer la opción ingresada por el usuario para eso necesitamos crear otra función que lea la opción y procese la entrada. Después de tomar la entrada, use la declaración if o la declaración de cambio, pero la declaración de cambio es buena. La instrucción switch menciona todas las opciones con funciones iguales a la función show menu. Luego, la declaración de cambio llamará a la función apropiada de acuerdo con las opciones.
- Luego use un tiempo para llamar al menú show y tome la función de entrada hasta que el usuario no quiera salir del programa.
Enfoque paso a paso:
Veamos un ejemplo para entender mejor. Vamos a construir un script que realice dos funcionalidades, una es verificar el uso de la memoria y otra el uso del disco. Ahora avancemos de acuerdo con el algoritmo anterior.
Paso 1: Vamos a crear dos funciones que verifiquen el uso de la memoria y el uso del disco.
memoryUsage(){ echo "Memory Usage:" free read -p "Press any key to Continue...." } diskUsage(){ echo "Disk Usage:" df read -p "Press any key to Continue...." }
Ahora hemos creado la función memoryUsage que brinda detalles sobre el uso de la memoria y la función diskUsage que brinda detalles sobre el uso del disco.
Paso 2: ahora vamos a crear un menú para mostrarle a un usuario las opciones requeridas
show_menu() { clear echo "++++++++++++ MENU +++++++++++++" echo "1. Show Memory Usage." echo "2. Show DIsk Usage." echo "3. Exit" echo "+++++++++++++++++++++++++++++++" }
La función show_menu() muestra el menú al usuario que contiene tres opciones: la primera para el uso de la memoria, la segunda para el uso del disco y la tercera para salir del programa.
Paso 3: ahora vamos a crear la función que toma la entrada de acuerdo con el menú y procesa la entrada dada:
take_input() { local choice read -p "Select the option from above menu: " choice case $choice in 1) memoryUsage ;; 2) diskUsage ;; 3) exit 0;; *) echo "Enter Valid Option!!" read -p "Press any key to Continue...." esac }
La función take_input toma la entrada y la pasa a la declaración de cambio en la función, que llama a la función de acuerdo con la opción proporcionada.
Paso 4: ahora usemos el bucle while para llamar a la función show_menu y la función take_input hasta que el usuario no quiera salir.
while true do show_menu take_input done
A continuación se muestra la implementación completa:
#!/bin/bash # function to show memory usage memoryUsage(){ echo "Memory Usage:" free read -p "Press any key to Continue...." } # function to show disk usage diskUsage(){ echo "Disk Usage:" df read -p "Press any key to Continue...." } # function to show menu show_menu() { clear echo "++++++++++++ MENU +++++++++++++" echo "1. Show Memory Usage." echo "2. Show DIsk Usage." echo "3. Exit" echo "+++++++++++++++++++++++++++++++" } # function to take input take_input() { #take the input and store it in choice variable local choice read -p "Select the option from above menu: " choice #using switch case statement check the choice and call function. case $choice in 1) memoryUsage ;; 2) diskUsage ;; 3) exit 0;; *) echo "Enter Valid Option!!" read -p "Press any key to Continue...." esac } # for loop to call the show_menu and take_input function. while true do show_menu take_input done
Producción:
Publicación traducida automáticamente
Artículo escrito por nishant0073 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA