educación, informática y demás

25.03 - Automatizacion Scripts I, 2502 - Sistemas Libres Linux

Recordando los bash shell scripts!

¿Qué es un bash shell script?

Se trata de un script que utiliza comandos de la shell de bash. Bash es un interprete de comandos, también conocido como shell.

¿Pero qué es un script?

Un script es una serie de comandos que se ejecutan de forma secuencial y que sirve para realizar alguna tarea en el sistema.

Esta tarea puede ser: automatizar una serie de procesos o resolver un problema utilizando comandos o aplicaciones…

Comandos: Podemos ejecutar cualquier comando o aplicación que se pueda ejecutar desde la terminal o bash.

Secuencial: Los comandos se ejecutarán en el mismo orden que se almacenen en el script.

¿Almacenen? Claro, pero que podamos crear un script, necesitamos almacenar los comandos en el orden que queramos, como si fuera un programa, en un fichero de texto plano.

Una serie de comandos que se almacenan en un fichero de texto plano en orden para que se ejecuten en secuencia.

Editor de texto

Podemos utilizar cualquier editor de texto que nos permita crear, modificar y guardar ficheros de texto plano. Por ejemplo:

  • nano.
  • mousepad

Primera línea: ¿Cómo lo ejecuto?

La primera línea de un script debería ser un comentario seguido de una exclamación cerrada y la ruta del programa que interpretará el script, en nuestro caso /bin/bash

El ampersand sirve para lanzar una aplicación o comando en segundo plano y continuar trabajando con la terminal.

Con esto, hay un proceso nuevo cuyo PID es 1903 que está ejecutando el programa mousepad.

Vamos con el código

No tiene permiso de ejecución

Actualizamos los permisos

Ejecutamos

No hemos guardado!!!

Guardamos y volvemos a lanzar

Podemos ir editando y comprobando gracias a contar con dos procesos, uno con bash y otro con el editor de texto

Ejercicio 01

Crea un script que muestre información del usuario marinapg. La información a mostrar será la guardada en el sistema para dicho usuario. En concreto mostraremos, el nombre del usuario, su UID, su GID y la ruta del directorio personal del usuario marinapg.

Esta información la queremos mostrar en líneas distintas con una etiqueta previa que indique el tipo de campo que se está mostrando.

Solución paso a paso y refinando

Refinamiento…

Prueba…

Refinamiento…

Prueba…

Ejercicio 02

Ahora queremos que el script nos muestre información de alfredoff

Vamos a usar variables. Podemos utilizar variables para datos que cambian dentro del script o para guardar datos literales que se van a reutilizar en varias partes del script.

Ahora solo tendríamos que cambiar una línea de todo el script para hacer que se adapte a las necesidades del usuario: mostrar la información de un usuario concreto, en este caso alfredoff

Ejercicio 03 – Por parámetro

Recibimos por parámetro el nombre del usuario para el que queremos mostrar información.

Si no se pasa nombre de usuario, mostramos un mensaje de error y terminamos la ejecución del script** para otro día

Vamos a probar

Ejercicio 04 – Leer de teclado

Supongamos que queremos decirle al operador que inserte manualmente a través de teclado el nombre del usuario a consultar.

Para ello utilizaremos el comando read.

Vamos a probar

Bien, sabiendo esto modifica el script para que se proporcione el nombre del usuario por teclado

Dejar una respuesta