Crear scripts en Linux

Todos sabemos que si tú eres un administrador de sistemas o si te especializas en la parte de operaciones (infraestructura), definitivamente te toca hacer ciertas tareas que pueden resultar aburridas o simplemente repetitivas. En cualquier caso siempre es posible automatizar y para hacerlo. Al menos con Linux es posible comenzar a hacer scripts que puedas ejecutar en cualquier momento así que puedes comenzar por crear un archivo con una extensión .sh. Es más, ya que estamos en eso puede ser desde la misma terminal con el comando siguiente.

nano myFirstScript.sh

Dentro del archivo inserta lo siguiente.

#!/bin/bash
echo "Hello bash"

El resultado será como siempre un Hola mundo. Pero hay un punto muy importante. El crear y guardar el archivo no garantiza la posiblidad de poder ser utilizado. De hecho, para ejecutar un archivo, debes hacerlo con un comando de este tipo.

./myFirstScripts.sh

Si lo haces en este momento, entonces solo tendrás un resultado así.

Resulta que crear un archivo con esta extensión no es suficiente, al tratarse de una pequeña aplicación debes estar consciente de ello y por ello modificar los permisos de ejecución. De hecho lo podrás ver incluso visualmente. Mira como la terminal despliega el archivo.

Ahora modifica los permisos, para hacerlo usas el comando chmod y hay dos maneras de hacerlo, una con letras, esta forma es la primera que me enseñaron y que realmente solo la usé hasta que aprendí la segunda. Por medio de números, esto me hizo mucho más fácil entender lo que estaba haciendo. Así que lo que buscamos ahora es:

chmod 0700 myFirstScript.sh

Esto te dará privilegios de ejecución pero solo a ti, solo al dueño del equipo y no todos los que lo puedan usar (es decir, diferentes cuentas). No me pienso meter a profundidad en los temas de permisos pero si no estás familiarizado vale muchísimo la pena que lo revises para poder saber mucho mejor que es lo que puedes hacer.

Si revisas de nuevo tu terminal el script cambió de color.

Ahora, de nuevo, si ejecutas el resultado será positivo.

¿Y los parámetros?

Una parte fundamental de los scripts es tener la posibilidad naturalmente de recibir parámetros. Y esto es demasiado fácil, solo debes escribir el siguiente script.

#!/bin/bash
if["$1" !=""]; then
echo "Escribiste:" $1 
else 
echo "Escribe algo por favor para poder leerlo"
fi

Así, como verás, solo basta con que en el comando sea ejecutado con un parámetro y el resultado será el siguiente.

Tips

Hay algunas cosas que podrán hacer que ganes más experiencia con todo esto.

1 Recuerda que los scripts de bash son herramientas que te sirven para automatizar una tarea, no se trata de aplicaciones muy complejas que realicen muchas cosas a la vez. Si notas que tu script hace dos cosas es momento de pensar en refactorizar, de lo contrario todo esto se volteará en tu contra y comenzarás a tener más problemas de los que estabas intentando solucionar.

2 Acabo de descubrir que una excelente herramienta para aprender y crear scripts muy complejos es VS Code te permite probar desde una misma ventana y con la extensión adecudada la cosa se hace mucho más sencilla, definitivamente un herramienta muy útil si quieres ser más productivo.

3 Ponte tareas que te permitan ganar experiencia. ¿Qué tal enviar un correo cada 24 horas con los paquete apt que se han instalado? ¿O quizá respaldar la información de cierta carpeta a un servicio de nube como Azure o AWS? Son tareas de nivel básico pero que te darán una gran experiencia de todo lo que puedes hacer.

Deja un comentario

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