Script de shell controlado por menú para verificar los usos de memoria y disco

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *