O que são scripts Bash e por que você deveria usá-los?

¿Qué son los scripts Bash y por qué deberías usarlos?

Un tipo de programación que tu negocio no debe dejar de lado y que además es sencilla, eficaz y flexible.

Imagem em destaque

Si menciona scripts bash a cualquier administrador o desarrollador de tecnología, será recibido con gestos de aprobación o un entusiasta "He estado allí, lo he hecho". La razón de esto es que los scripts bash son una herramienta increíblemente útil que ayuda a que el sistema operativo Linux sea flexible, potente y útil.

Pero, ¿qué son los scripts bash y por qué deberías usarlos?

Estas preguntas se hacen con frecuencia y se responden fácilmente. Pero antes de escuchar la explicación, probablemente deberías saber qué es bash. Después de todo, probablemente ya sepas qué es un script, por lo que juntar estos dos y dos comienza en la propia terminal.

¿Qué es Bash?

Una ilustración del lenguaje de programación Bash.

En pocas palabras, bash es un lenguaje de comandos y shell utilizado en Linux. Vale, eso es genial, pero ¿qué es un caparazón? En el dominio de Linux, el shell es un intérprete de línea de comandos que proporciona una interfaz de usuario para ejecutar comandos. Sin el shell, no se podrían ejecutar comandos. Sin comandos, no habría sistema operativo. Sin un sistema operativo no habría PC.

Por tanto, bash es un tipo de shell que permite ejecutar comandos en Linux.

¿Pero qué tiene esto que ver con su equipo de desarrollo?

Dos palabras: scripts de shell.

¿Qué son los scripts de shell?

Una ilustración de una interfaz de shell de Linux.

Ahora llegamos al meollo del asunto. Un script de shell es un programa de computadora diseñado para ejecutarse dentro del shell (en este caso, bash). Cada shell tiene su propio lenguaje de secuencias de comandos y, dado que bash es el shell predeterminado de Linux, la mayoría de los equipos de desarrollo y administración utilizan el lenguaje de secuencias de comandos bash.

Con estos scripts puedes hacer casi cualquier cosa. Y al igual que Python, son bastante fáciles de aprender y no requieren un compilador para su uso.

Para comprender realmente los scripts de shell, primero debe comprender cómo utilizar la línea de comandos en Linux. Veamos un ejemplo muy sencillo. Digamos que desea imprimir la siguiente oración:

La fecha y hora son

Siguiendo lo anterior, desea imprimir la fecha y hora reales, utilizando el comando de fecha . Esto se haría con:

 echo "La fecha y hora son " $(fecha)

Presione Enter y el resultado será algo como esto:

 La fecha y hora es el miércoles 19 de enero a las 09:04:16 a.m. EST de 2022.

Ahora veremos cómo se hace esto con un script bash.

Cómo crear un script Bash

Lo primero que debes saber es que cada script bash comienza con:

 #!/bin/bash

Crea un nuevo archivo con el comando:

 fecha nano.sh

Agregue #!/bin/bash en la parte superior del script, lo que indica al terminal que todo lo que se encuentra en el archivo es parte de un script. Después de eso, podemos crear nuestro programa con solo unas pocas líneas. Lo primero que haremos será formatear la fecha como queramos usando una variable como esta:

 fecha_formateada=$(fecha +%m_%d_%y-%H.%M.%S)

El texto anterior mostrará la fecha en formato de fecha (mes, día, año) y luego la hora (hora, minutos, segundos). Usaremos esta variable ( data_formatada ) junto con nuestro comando echo en la línea:

 echo "La fecha y hora son " $formatted_date

Guarde y cierre el archivo y otorgue permisos ejecutables al script con:

 chmod u+x fecha.sh

Si ejecuta el comando ./data.sh, la salida será similar a cuando ejecutó el comando echo desde la ventana del terminal.

Y así es como se construye un script bash.

¿Por qué necesitas scripts Bash?

Ahora que comprende los conceptos básicos de cómo funcionan los scripts bash, es importante saber que los scripts bash pueden ser cualquier cosa, desde aplicaciones simples de una o dos líneas hasta aplicaciones increíblemente complejas que pueden hacer casi cualquier cosa (desde realizar copias de seguridad de directorios en unidades externas, para ejecutar pruebas de ping para el tiempo de actividad del sitio, monitorear el rendimiento del servidor y tareas administrativas personalizadas. De hecho, hay muy pocas cosas que los scripts bash no puedan hacer (siempre que no necesite una GUI).

Una gran ventaja de utilizar scripts bash es que se pueden crear con muy poco (o nulo) conocimiento de programación. Esto significa que puede crear aplicaciones Linux sin GUI sin aprender primero a programar.

Si puede ejecutar un comando, puede escribir un script.

Y dada la flexibilidad de los scripts bash, realmente puedes sacarles mucho provecho antes de chocar contra una pared y tener que recurrir a habilidades de programación más tradicionales.

Pros y contras de los scripts Bash

Una ilustración de los pros y los contras de los scripts Bash.

El uso de scripts bash tiene varias ventajas y sólo algunas desventajas.

Ventajas de los scripts Bash

Las ventajas de los scripts bash incluyen:

  • Sencillo de crear
  • Puede ejecutar múltiples comandos fácilmente
  • Depuración interactiva
  • Portátil
  • Ahorrar tiempo
  • Costo beneficio
  • Puede ser automatizado
  • Instalado en casi todos los sistemas operativos Linux.

Desventajas de los scripts Bash

Las secuencias de comandos Bash tienen sus inconvenientes, que incluyen:

  • No tan rápido como un programa estándar
  • Usabilidad limitada (en comparación con los programas tradicionales)
  • Inicia un nuevo proceso para cada comando de shell ejecutado (lo que significa que puede consumir muchos recursos si un script es complejo)

Conclusión

Cuanto más tiempo trabajen sus administradores con el sistema operativo Linux, eventualmente recurrirán a scripts de shell. De hecho, debería alentarlos a comenzar con scripts de shell para realizar tareas más pequeñas y luego pasar al desarrollo tradicional cuando se encuentren con el obstáculo inevitable.

Debido a que los scripts de shell son tan fáciles de aprender y crear, también son una buena introducción a la programación. Si tiene pasantes o desarrolladores de primer año en su personal, pídales que comiencen a trabajar con scripts de shell como una forma de facilitar el trabajo más pesado que realizarán con Java, JavaScript o .NET.

Preguntas frecuentes

¿Se pueden utilizar los scripts Bash en todos los sistemas operativos?

Los scripts Bash son compatibles de forma nativa con sistemas basados ​​en Unix, como Linux y macOS. Para Windows, Bash se puede utilizar a través de subsistemas como el Subsistema de Windows para Linux (WSL) o mediante aplicaciones de terceros como Cygwin.

¿Los scripts Bash son adecuados para el desarrollo de software a gran escala?

Los scripts Bash generalmente son más adecuados para tareas de automatización pequeñas y medianas, administración de sistemas y control simple de otro software. Para el desarrollo de software a gran escala, normalmente se recomiendan lenguajes de programación más completos.

¿Cómo se comparan los scripts de Bash con los scripts de Python en términos de facilidad de uso y funcionalidad?

Los scripts Bash son excelentes para la manipulación de archivos, la administración de sistemas y la automatización de tareas directamente en sistemas tipo Unix. Python, al ser un lenguaje de programación completo, es más versátil y sencillo para tareas complejas, manipulación de datos y aplicaciones multiplataforma.

¿Es necesaria experiencia en programación para empezar a escribir scripts Bash?

No es necesario tener experiencia previa en programación para comenzar a escribir scripts Bash. Las secuencias de comandos Bash básicas pueden ser bastante simples y, a menudo, son un buen punto de partida para aprender conceptos de programación, especialmente para aquellos que usan con frecuencia sistemas operativos tipo Unix.

Fuente: BairesDev

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.