Shell-Script-II

Curso de Linux 9/60 |Bash Script Básico II

Hoy vamos a ver nuestra novena clase del curso de Linux es la segunda parte de Shell Script básico, ya explicamos los siguientes apartados

  • Estructuras básicas en Shell Script
  • Las condicionales
  • los bucles
  • El manejo de variables
  • Y como pasarlas como parámetros

Esta vez vamos a hacer 2 ejemplos prácticos una en forma de menú y el otro en forma de comando al cual le pasaremos parámetros para ver la utilización de estas estructuras.

Estructura del menú

Entonces comenzamos, vamos a hacer un archivo llamado menu.sh al cual le vamos a escribir el encabezado del Shell Scrip en este caso vamos a colocar el interprete que es la Shell bash

  1. !#/bin/bash.
  2. luego vamos a colocar una variable x a la cual le vamos a asignar el valor 0.
  3. Otra variable y a la cual le vamos a asignar el valor 4.
  4. Ahora vamos a escribir nuestro ciclo while junto con la condicional [ $x –ls $y ]; recuerden que los corchetes debe ir separado por un espacio para que no nos de error de sintaxis.
  5. Colocamos clear para limpiar la pantalla.
  6. Ahora vamos a pintar nuestro menú colocamos un echo para que nos muestre en la primera procesos que hay en nuestro sistema.
  7. En la segunda opción vamos a colocar que nos muestre el espacio en disco que tenemos.
  8. En la tercera opción vamos a ver los usuarios que tenemos activos en el sistema o que están ingresados en el sistema en este momento.
  9. En la cuarta opción vamos a colocar la carga que el sistema tiene en este momento.
  10. Y en la quinta opción vamos a colocar la opción de salir ósea la opción que rompe con el ciclo que estamos haciendo.

Colocamos un read para leer la variable x para poder cumplir los casos que vamos a colocar a continuación.

Entonces dentro del ciclo while abrimos los siguientes casos (case) pero antes que nada un clear para limpia la pantalla:

En el primer caso e igualmente con los siguientes casos iniciamos con un clear para limpiar la pantalla luego colocamos ps xa | wc -l que nos cuenta las líneas que nos devuelve el ps mostrándonos la cantidad de procesos que hay, en la siguiente linea un echo “pulse una tecla para continuar…….” y por ultimo un read una linea abajo para realizar la lectura en pantalla y cerramos el primer caso con ;;.

En el segundo caso colocamos df –ph seguido por el mismo mensaje del caso uno y un read y cerramos el caso 2 con ;;

En el caso 3 vamos a colocar el comando w para ver los usuarios que están ingresados en el sistema seguido por el mismo mensaje del caso uno y un read y cerramos el caso 3.

Abrimos el caso 4 que seria para la carga del sistema limpiaamos la pantalla ahora colocamos un uptime para que nos muestre tanto lo que lleva arriba el sistema como la carga que tiene en el momento, pegamos lo que tienen los otros casos y cerramos,

En el ultimo caso *) el caso donde no sera ninguno de los anteriores colocamos clear para que nos limpie la pantalla entonces aquí terminamos el caso lo cerramos y nos disponemos a cerrar la estructura con esac que es case al revés.

Una vez terminado el Script quedaria de la siguiente forma

!#/bin/bash

x=0
y=4

while [ $x –ls $y ];
do

clear

echo “1. Numero de procesos”
echo “2. Espacio en disco”
echo “3. Usuarios Activos”
echo “4. Carga del Sistema”
echo “5. Salir”

read x

case $x in

        1)
              clear
              ps xa | wc -l
              echo “pulse una tecla para continuar…….”
              read
        ;;

        2)
              clear
              df –ph
              echo “pulse una tecla para continuar...”
              read
        ;;

        3)
              clear
              w
              echo “pulse una tecla para continuar...”
              read
              ;;

        4)
              clear
              update
              echo “pulse una tecla para continuar...”
              read
              ;;

        *)
              clear
        ;;

esac

done

Ahora vamos a la línea de comando y ejecutamos nuestro comando menú (./menú.sh) y nos va amostrar las opciones.

 

Estructura de comando

Ahora vamos a ver el caso del comando por parámetros, entonces vamos a crear un archivo que se llame mostrar.sh al crear mostrar.sh obviamente le vamos a iniciar el encabezado que le indica al interprete que es un bash script y vamos a utilizar la estructura if de la siguiente forma.

if [  ];
then

Una vez tenemos muestro esqueleto de la estructura vamos a crear las condiciones

  1. Primera condición será [ $1 == “-p” ]; seguido de then y ejecurará el comando ps xa | wc –l esta condición nos mostrará la cantidad de procesos activos en el sistema.
  2. La segunda condición será [ $1 == “-e” ]; seguido de then y el comando df –ph estesta condición nos mostrará el espacio en disco.
  3. En el tercer caso colocaremos el comando w y la condición será [ $1 == “-u” ]; esta condición nos mostrara los usuarios activos actualmente en el sistema.
  4.  Por ultimo en la siguiente condición será [ $1 == “-c” ] para que nos muestre la carga del sistema actualmente y le vamos a colocar el comando uptime que nos muestran estos datos.

Luego vamos a hacer una pequeña ayuda como la tienen los comandos por lo general vamos a colocar un –h que nos va a imprimir la ayuda y vamos a hacer una pequeña ayuda a punta de echos, y quedará de la siguiente manera:

echo “Mostrar estadísticas del sistema Version 0.0.1”
echo “”
echo “Ayuda:”
echo “-p Cantidad de procesos ”
echo “-e Espacio en disco”
echo “-u Usuarios de sistema”
echo “-c Carga del Sistema ”
echo “-h Muestra esta ayuda”

finalmente el srcipt completo quedará de la siguiente manera:

!#/bin/bash

if [ $1 == “-p” ];
then

        ps xa | wc -l

fi

if [ $1 == “-e” ];
then

        df -ph

fi

if [ $1 == “-u” ];
then

        w

fi

if [ $1 == “-c” ];
then

        uptime

fi

        if [ $1 == “-h” ];
then

echo “Mostrar estadísticas del sistema Version 0.0.1”
echo “”
echo “Ayuda:”
echo “-p Cantidad de procesos ”
echo “-e Espacio en disco”
echo “-u Usuarios de sistema”
echo “Carga del Sistema ”
echo “-h Muestra esta ayuda”

fi

Recordemos que siempre que terminemos de editar un script debemos de darle los permisos de ejecución con chmod u+x y el archivo.

Ahora vamos a la línea de comando y ejecutamos nuestro comando menú (./mostrar.sh -h) y nos va amostrar las opciones.

http://www.proyectobyte.com/wp-content/uploads/2015/06/comandos.jpg

Con esto vemos la utilización de algunas de las estructuras que vimos en el capitulo Shell Script Básico I y su utilización en la practica, en las próximas 2 clases vamos a ver funciones mas avanzadas para Shell Script que van a hacer que nuestros Scripts sean más potentes y vamos a ver más aplicaciones para poder sacarle jugo al sistema operativo por medio de los Scrip de Shell.

  • Vamos avanzando más en nuestro curso ya que:
  • manejamos nuestro sistema operativo de forma básica.
  • manejamos comando
  • ya entendemos como es él sistema operativo a nivel del interprete de comandos
  • y ahora estamos potencializando ese conocimiento aprendiendo Shell Scrip para poder hacer nuestras propias soluciones dentro de nuestro sistema operativo.

Esta es la potencia que tienen los sistemas operativos abiertos y los sistemas operativos basados en UNIX y por ende en nuestro sistema operativo Linux entonces espero que esto haya sido de su agrado no olviden subscribirse por correo electrónico en el pie de pagina, y si les gusto los espero la próxima clase.

Sobre Fernando Alberto Velasquez Aguilera

Comentar

Su dirección de correo electrónico no será publicada.Los campos necesarios están marcados *

*

x

Check Also

Que es una CLI

Uso de la interfaz de línea de comandos – CLI

Hoy hablaré del uso o interacción que se da entre humano-máquina a través de una Interfaz ...