Un bash script es un documento de texto sin formato que contiene una secuencia de comandos o instrucciones escritas en el lenguaje de programación de shell "bash" (Bourne-Again SHell).
Respecto a Bash, se trata de una interfaz de línea de comandos (CLI) empleada en sistemas operativos basados en Unix (como pueden ser Ubuntu o MacOS) y cuya finalidad radica en interactuar con el sistema operativo y sus funcionalidades a través de la ejecución de comandos. Un punto importante a recordar es: cualquier cosa que pueda ejecutar en la línea de comando se puede poner en un script y hará exactamente lo mismo.
Los scripts de bash permiten automatizar tareas y procesos al proporcionar una forma de encadenar varios comandos juntos en un solo archivo. Estos scripts pueden incluir estructuras de control, variables, funciones y otros elementos de programación, lo que facilita la automatización de tareas repetitivas, la gestión de archivos, la configuración del sistema y muchas otras operaciones.
Principales usos
El scripting Bash es una herramienta poderosa y versátil que se utiliza principalmente para automatizar tareas de administración del sistema, administrar recursos del sistema y realizar otras tareas rutinarias en sistemas Unix/Linux. Algunas ventajas de estos scripts son:
Automatización
Permiten automatizar tareas y procesos repetitivos, ahorrando tiempo y reduciendo el riesgo de errores que pueden ocurrir con la ejecución manual. Por ejemplo, puedes crear un script para realizar copias de seguridad diarias de una base de datos, lo que eliminaría la necesidad de realizar esta tarea manualmente todos los días.
Flexibilidad
Estos scripts son muy personalizables y pueden modificarse fácilmente para adaptarse a requisitos específicos. También se pueden combinar con otros lenguajes de programación o utilidades para crear scripts más potentes.
Portabilidad
Se pueden ejecutar en varias plataformas y sistemas operativos basados en Unix como Linux, macOS e incluso Windows mediante el uso de emuladores o máquinas virtuales.
Sin embargo, debemos tener en cuenta que pueden presentarse diferencias entre las distintas versiones de Bash en cuanto a los comandos y opciones admitidas. Algunos comandos y funciones pueden variar entre sistemas operativos, lo que podría afectar la ejecución del script si se utilizan características específicas de una versión particular de bash.
Otro aspecto, que pese a la flexibilidad debemos considerar, son las rutas de archivos empleadas en los scripts. Estas pueden ser problemáticas si no se manejan de manera adecuada. Diferentes sistemas pueden tener estructuras de directorios distintas, por lo que posiblemente sea necesario hacer algún ajuste en este sentido.
Accesibilidad
Son fáciles de escribir y no requieren herramientas ni software especiales. Se pueden editar con cualquier editor de texto y la mayoría de los sistemas operativos tienen un intérprete de shell incorporado.
Integración
Se pueden integrar con otras herramientas y aplicaciones, como bases de datos, servidores web y servicios en la nube, lo que permite tareas de automatización y gestión de sistemas más complejas.
Depuración
Son fáciles de depurar y la mayoría de los shells tienen herramientas integradas de depuración y notificación de errores que pueden ayudar a identificar y solucionar problemas rápidamente.
¿Cómo se crean los scripts en Bash?
A modo de ejemplo, para a crear script Bash bastante sencillo en el que se que muestre por la línea de comandos la frase “Este es mi primer bash script“, debemos seguir los siguientes pasos:
- Crea un nuevo archivo de texto vacío que será el script. Para ello puedes emplear algún editor de texto simple como el clásico “Bloc de notas” de Windows o una alternativa similar. También puedes crear dicho archivo desde la propia línea de comando mediante el editor de texto “nano”. Para ello, escribe en la línea de comandos “nano primer_script.sh”. Esto creará un nuevo archivo vacío llamado “primer_script.sh” en el que incluiremos el contenido del scripts que listamos a continuación.
- Se abre el archivo creado anteriormente (nuevamente haciendo uso del editor de texto o nano) y en la primera línea se debe especificar el intérprete para el script. En este escenario, es Bash. Por lo tanto, se debe escribir el comando:
- #!/bin/bash
- Es el momento de escribir los comandos del script que se quieren ejecutar. El propósito del script bash que se está construyendo es mostrar en pantalla el texto “Este es mi primer bash script” Para realizar esta tarea, se debe escribir el comando “echo” seguido del texto a mostrar:
- echo “Este es mi primer bash script“
- Guarda el archivo.
- Ejecutar el archivo en la línea de comandos: ./primer_script.sh y visualizaremos en la Shell la frase: Este es mi primer bash script.
El scripting en Bash es una herramienta muy útil y ampliamente utilizada sobre todo en labores de administración de sistemas basados en sistemas operativos UNIX/LINUX, con el propósito de automatizar tareas o codificar secuencias de comandos para tareas complejas. Todo lo que se necesita saber acerca del scripting y concretamente de Bash es parte clave en las titulaciones de Formación Profesional del área de la informática, como son el CF Grado Superior en Desarrollo de Aplicaciones Multiplataforma (DAM) con especialidad en DevOps, CF Grado Superior en Desarrollo de Aplicaciones WEB (DAW) con especialidad en MEAN y Full Stack y CF Grado Superior en Administración de Sistemas Informáticos en Red (ASIR) impartidos por UNIR FP.