Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

Conceptos básicos de secuencias de comandos y automatización de Bash (Parte 1)

La automatización de una tarea repetitiva tiende a alegrar al desarrollador de Bash: en lugar de escribir interminables comandos una y otra vez, un script simplemente hace el trabajo de forma repetitiva. Bash es ideal para dicha automatización. ¡Esta serie te ayudará a comenzar!

Qué es automatización de bash?

El shell Bash es un potente shell de Linux que permite una automatización profunda de tareas repetitivas. El shell Bash Linux no solo es una excelente opción para DevOps, ingenieros de bases de datos y pruebas, sino que todos los días los usuarios pueden beneficiarse de las habilidades de Bash que aprenden lentamente y en constante aumento. Bash también es un lenguaje de programación y programación que crece en ti. He estado codificando activamente en Bash desde 2012 y lo he usado por mucho más tiempo.

Bash también se presta a muchos dominios de aplicaciones y casos de uso diferentes. Por ejemplo, puede usarlo fácilmente para el manejo de Big Data y, sorprendentemente, parece prestarse extremadamente bien para esta tarea debido a la gran cantidad de herramientas de procesamiento de texto disponibles en él, o disponibles como paquetes fáciles de instalar. También es muy adecuado para la programación y el mantenimiento de bases de datos y copias de seguridad, o para manejar soluciones de almacenamiento de archivos de gran tamaño, automatizar servidores web y mucho más.

Una cosa que he descubierto es que cada vez que se presenta el siguiente problema, un poco de investigación en un motor de búsqueda o en los distintos sitios web de Stackoverflow rápidamente producirá no solo una solución al problema, sino también una oportunidad para crecer y aprender. Esta es una experiencia muy similar a la de una persona que aprende a editar.

 vi 

donde ocurre lo mismo; Siempre que se presenta un problema, la solución está cerca.

Esta miniserie consta de tres partes, de las cuales es la primera, y en ella veremos los conceptos básicos de automatización y scripting de Bash.

¡El asunto!

Quizás se pregunte qué tipo de título es ese. Y estaría en lo cierto, a menos que estuviera hablando con un desarrollador de Linux experimentado. En el mejor de los casos, sonreirían. Esto se debe a que las dos primeras letras de un script Bash bien escrito siempre serían, bueno, ¡Shebang!

Hay dos personajes, a saber

 #! 

que se pueden colocar en la parte superior de un script, que indican al shell qué intérprete puede, debe y se utilizará para procesar el script en cuestión. Sucede que esto símbolo en su conjunto se llama El asunto como un todo.

Por lo tanto, para ampliar nuestra afirmación anterior: la primera línea de un script Bash bien escrito debe comenzar con

 #!/bin/bash 

para indicarle al shell (cualquiera que sea el shell que se esté utilizando, podría ser, por ejemplo

 bash 

o

 sh 

o

 zsh 

) que queremos el binario

 /bin/bash 

(nuestro shell Bash) para ejecutar este código.

Pongamos esto en práctica, definiendo un pequeño guión.

 test.sh 

como sigue:

#!/bin/bash

echo 'Hello CloudSavvyIT Readers!'

Puedes crear este script usando tu editor de texto favorito, que preferiblemente sería un editor que use solo fuentes monoespaciadas como vi, empuje, nano o algún editor basado en texto plano en su escritorio Linux, y preferiblemente evitando cosas como un procesador de texto como OpenOffice Writer, etc., ya que pueden escribir datos binarios o caracteres adicionales no deseados en nuestro script. En otras palabras; Necesitamos usar texto sin formato.

Una vez definido este script, lo hacemos ejecutable ejecutando chmod +x test.sh en la línea de comando. Luego podemos iniciar el script simplemente llamando a su nombre con el prefijo ./: ./test.sh

Parámetros de entrada

Tan pronto como comience a escribir scripts, probablemente encontrará que desea pasar parámetros de entrada al script. Una forma de hacerlo es utilizar los parámetros posicionales simples que están disponibles en Bash de forma predeterminada. Echemos un vistazo a un script de ejemplo test2.sh, que definimos de la siguiente manera:

#!/bin/bash

echo "${1}"

Aquí hemos utilizado el parámetro posicional ${1}. Esta variable reflejará la primera palabra (separada por espacios de forma predeterminada) que se pasó a nuestro script, a menos que se utilicen comillas. Veamos cómo funciona esto:

Después de hacer que nuestro script sea ejecutable nuevamente con chmod +x test2.sh, ejecutamos lo mismo y pasamos una sola palabra hola como primer parámetro posicional (${1}). El resultado es que nos devuelven el saludo.

Esto se debe a que cuando se inició el script, la variable ${1} (o $1, aunque recomiendo siempre poner comillas alrededor de los nombres de las variables) se estableció en el valor del primer parámetro posicional; la primera palabra o cadena entre comillas después del nombre del script.

Luego pasamos Hola mundo, sin embargo, esto solo nos devolvió el saludo. La razón es simple; la segunda palabra (separada de forma predeterminada por un espacio) se considera el segundo parámetro posicional y, por lo tanto, se inicializa como ${2} en el script, no como ${1}.

Evitamos este comportamiento poniendo comillas alrededor de la entrada cuando pasamos ‘¡Hola lectores de CloudSavvyIT!’. Las comillas simples o dobles habrían funcionado, aunque su funcionamiento difiere; hablaremos más sobre esto en la siguiente parte de esta serie. El resultado es que nuestro primer parámetro posicional ${1} se establece en el texto completo ¡Hola, lectores de CloudSavvyIT! y, por lo tanto, se nos repite lo mismo.

Si desea obtener más información sobre las variables, nuestros artículos Funciones de Bash y Variables locales y Exportación de variables en Bash: los artículos Por qué y Cómo también pueden ser de su interés.

Terminando

En este artículo, revisamos el primer conjunto de conceptos básicos de automatización y secuencias de comandos de Bash. Aprendimos qué es la automatización de Bash y un Shebang, y cómo comenzar a pasar variables de entrada a nuestros scripts.

En Bash Automation and Scripting Basics (Parte 2) analizamos las comillas variables y más. ¡disfrutar!