Escribir scripts en Linux Bash ⋆ ALexHost SRL

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills
18.12.2024

Escribir scripts en Linux Bash

Las secuencias de comandos Bash son una potente forma de automatizar tareas, gestionar operaciones del sistema y realizar operaciones complejas en Linux. Escribiendo scripts Bash, los usuarios pueden combinar múltiples comandos en un solo script, ahorrando tiempo y reduciendo errores. Bash es el shell por defecto en la mayoría de las distribuciones de Linux, lo que lo convierte en una herramienta esencial para administradores, desarrolladores y entusiastas de Linux.

En este artículo, exploraremos cómo escribir y ejecutar scripts Bash en Linux, cubriendo los fundamentos, conceptos clave y ejemplos prácticos.


¿Qué es un script Bash?

Un script Bash es un archivo de texto plano que contiene una secuencia de comandos que pueden ser ejecutados por el shell Bash. Permite a los usuarios automatizar tareas repetitivas, crear flujos de trabajo y construir secuencias de comandos más complejas que pueden interactuar con el sistema operativo Linux.

Los scripts Bash pueden realizar tareas como:

  • Manipulación de archivos (copiar, mover, renombrar)
  • Administración del sistema (supervisión de procesos, gestión de usuarios)
  • Automatización de la instalación de software
  • Ejecución de copias de seguridad y tareas programadas

Cómo escribir un script Bash sencillo

1. Crear un archivo de guión Bash

Para crear un script Bash, necesitas crear un nuevo archivo de texto. Utiliza un editor de texto como nano, vim o gedit para crear un archivo de script con la extensión .sh (por ejemplo, myscript.sh).

nano myscript.sh

2. Añade el Shebang (#!)

La primera línea de un script Bash se denomina shebang, que indica al sistema qué intérprete utilizar para ejecutar el script. Para los scripts Bash, la línea shebang tiene este aspecto:

#!/bin/bash

Esto garantiza que el script se ejecute utilizando el intérprete de comandos Bash, incluso si el usuario tiene por defecto un intérprete de comandos diferente.

3. Escribir comandos en el script

Después del shebang, puedes añadir los comandos que quieres que ejecute el script. Por ejemplo:

#!/bin/bash # Este es un script simple para saludar al usuario echo “¡Hola, $USUARIO!” echo “Hoy es $(fecha)” echo “Tu directorio actual es $(pwd)”
  • echo: Imprime texto en el terminal.
  • $USER: Una variable del sistema que contiene el nombre de usuario actual.
  • $(fecha): Ejecuta el comando date, que imprime la fecha y hora actuales.
  • $(pwd): Imprime el directorio de trabajo actual.

4. Hacer ejecutable el script

Antes de poder ejecutar el script, necesita darle permisos de ejecución. Utilice el comando chmod para hacer ejecutable el script:

chmod x myscript.sh

5. Ejecute el script

Una vez que el script es ejecutable, puede ejecutarlo desde el terminal utilizando el siguiente comando:

./myscript.sh

El script ejecutará los comandos que contiene y mostrará la salida en el terminal.


Variables en scripts Bash

Los scripts Bash permiten utilizar variables para almacenar y manipular datos. Las variables se utilizan para almacenar información como cadenas, números y salida de comandos.

Ejemplo de definición de variables:

#!/bin/bash # Definiendo variables nombre=”Juan” edad=25 # Usando variables en un script echo “Hola, mi nombre es $nombre” echo “Tengo $edad años”
  • Las variables se definen sin espacios alrededor del signo =.
  • Para utilizar el valor de una variable, antepóngale el símbolo $ (por ejemplo, $nombre).

Sentencias condicionales en Bash

Los scripts de Bash admiten sentencias condicionales, que permiten ejecutar comandos basándose en determinadas condiciones.

Ejemplo de una sentencia If:

#!/bin/bash # Solicita la entrada del usuario echo “Introduzca un número entre 1 y 10:” read número # Comprueba si el número está dentro del rango if [ $número -ge 1 ] && [ $número -le 10 ]; then echo “El número está dentro del rango.” else echo “El número está fuera del rango.” fi
  • leer: Lee la entrada del usuario y la almacena en una variable.
  • if: Inicia la sentencia condicional.
  • [ ]: Se utiliza para probar condiciones (por ejemplo, comparaciones).
  • -ge: Mayor o igual que.
  • -le: Menor o igual que.
  • &&: Operador lógico AND.

Bucles en scripts Bash

Los bucles se utilizan para repetir comandos varias veces, y Bash admite bucles for y while.

Ejemplo de un bucle For:

#!/bin/bash # Recorre un rango de números for i in {1..5}; do echo “Iteración $i” done

Este bucle imprime el texto “Iteración” seguido de los números del 1 al 5.

Ejemplo de un bucle While:

#!/bin/bash # Inicializa un contador counter=1 # Bucle mientras el contador sea menor o igual a 5 while [ $contador -le 5 ]; do echo “Contador: $contador” counter=$((contador 1)) # Incrementa el contador done

Este bucle incrementará e imprimirá el valor del contador hasta que llegue a 5.


Funciones en scripts Bash

Puede definir funciones en los scripts Bash para agrupar comandos que pueden reutilizarse a lo largo del script.

Ejemplo de función:

#!/bin/bash # Define una función para imprimir un saludo greet_user() { echo “¡Hola, $1!” } # Llama a la función con un argumento greet_user “Alice”
  • greet_user: El nombre de la función.
  • $1: Representa el primer argumento pasado a la función.

Trabajar con argumentos de la línea de comandos

Los scripts Bash pueden aceptar argumentos de la línea de comandos cuando se ejecutan. Estos argumentos se almacenan en variables especiales: $1, $2, $3, etc.

Ejemplo de un script con argumentos:

#!/bin/bash # Comprueba si se han proporcionado dos argumentos if [ $# -ne 2 ]; then echo “Usage: $0 ” exit 1 fi # Usa los argumentos echo “Argumento 1: $1” echo “Argumento 2: $2”
  • $#: El número de argumentos pasados al script.
  • $0: El nombre del script.
  • $1, $2: El primer y segundo argumento pasados al script.

Depuración de scripts Bash

Para depurar un script Bash, puedes añadir la opción -x al ejecutar el script. Esto mostrará cada comando a medida que se ejecuta.

Ejemplo:

bash -x myscript.sh

Esto imprimirá cada comando junto con su salida, ayudándole a identificar errores en el script.


Conclusión

Escribir scripts Bash en Linux le permite automatizar tareas repetitivas, realizar operaciones de gestión del sistema y crear flujos de trabajo complejos de manera eficiente. Al dominar las secuencias de comandos Bash, puede aumentar la productividad y personalizar su entorno Linux para satisfacer sus necesidades. Tanto si estás empezando como si quieres ampliar tus conocimientos de scripting, Bash es una herramienta esencial para cualquier usuario de Linux.

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills