Editado 2 hace días por ExtremeHow Equipo Editorial
Secuencias de comandos en shellAutomatizaciónLínea de comandosProgramaciónSecuencias de comandosAdministrador del sistemaUtilidadesPrincipiantesProductividadDesarrollo de software
Traducción actualizada 2 hace días
La escritura de scripts bash es una habilidad vital para cualquiera que quiera utilizar Linux en todo su potencial. Ya sea para automatizar tareas del sistema, manipular archivos o manejar operaciones de trabajo complejas, los scripts bash facilitan la vida. En esta guía, exploraremos cómo escribir scripts bash en Linux, destinada tanto a principiantes como a aquellos que necesiten un repaso. Proporcionará una visión sobre los aspectos básicos, así como ejemplos prácticos para ilustrar conceptos clave.
Bash, o Bourne Again Shell, es un procesador de comandos que se ejecuta en una ventana de texto donde los usuarios pueden ingresar comandos para ser ejecutados por el sistema operativo. Creado como un reemplazo de software libre para el shell Bourne, Bash es una herramienta poderosa que viene con muchas funciones integradas para acelerar la tecnología mundial.
Antes de escribir un script bash, es importante asegurarse de tener un sistema operativo basado en Linux instalado. Casi todas las distribuciones de Linux vienen con Bash preinstalado, ya que es el intérprete de línea de comandos predeterminado para la mayoría de los sistemas Unix.
Un script bash es simplemente un archivo de texto que contiene una serie de comandos. A menudo se utiliza para automatizar operaciones en tu computadora y funciona en conjunto con el sistema operativo Linux. Los scripts bash son extremadamente poderosos y pueden ahorrar tiempo al automatizar tareas complejas de procesamiento por lotes.
Sigue estos pasos simples para comenzar a escribir scripts bash:
Comienza creando un nuevo archivo. Puedes usar el comando touch para crear un archivo:
touch scriptname.sh
Alternativamente, puedes crear el archivo directamente desde un editor de texto como nano:
nano scriptname.sh
El shebang es la primera línea en cualquier script bash. Indica al sistema qué intérprete usar para analizar el resto del script. Para bash, típicamente se ve así:
#!/bin/bash
Debajo de la línea shebang, comienzas a escribir tu código. Vamos a escribir un script básico que imprime "¡Hola, Mundo!" en el terminal.
#!/bin/bash
echo '¡Hola, Mundo!'
Si estás usando nano, puedes guardar tu archivo presionando CTRL + O
, y luego salir usando CTRL + X
.
Antes de que puedas ejecutar tu script, debe ser ejecutable. Para hacer esto, usa chmod:
chmod +x scriptname.sh
Una vez que el archivo es ejecutable, puedes ejecutarlo escribiendo:
./scriptname.sh
Los scripts bash se componen de varios comandos. A continuación, algunos comandos bash comúnmente usados:
Las variables almacenan datos que pueden cambiar. A diferencia de otros lenguajes de programación, las variables Bash no requieren un tipo; cualquier cadena o número puede almacenarse en una variable.
Configurar las variables es fácil:
variable_name='valor'
Para acceder al valor almacenado en una variable, coloca el signo de dólar $
delante del nombre de la variable, como se muestra:
echo $variable_name
Los comentarios se usan para describir o explicar el código en tu script. Esto puede ser muy útil cuando vuelves a visitar tu código o cuando otras personas lo leen.
Los comentarios de una sola línea comienzan con el símbolo de almohadilla #
:
# Este es un comentario de una sola línea
Las expresiones condicionales se utilizan para tomar decisiones, y estas expresiones pueden comparar números, cadenas o devolver condiciones de comandos.
La sintaxis condicional básica para las declaraciones if-else es la siguiente:
if [ condición ]; then
# comandos para ejecutar si la condición es verdadera
else
# comandos para ejecutar si la condición es falsa
fi
Los bucles ofrecen la capacidad de repetir tareas. Los bucles más comunes son los for loops y while loops.
El for loop itera sobre la lista de elementos y ejecuta el código para cada elemento:
for item in item1 item2 item3; do
echo $item
done
El while loop continúa hasta que la condición especificada es falsa:
while [ condición ]; do
# comandos para ejecutar
done
Las funciones te permiten agrupar comandos en un script en secciones que puedes llamar repetidamente. Esto puede ayudar a hacer tu script más organizado y reducir la repetición:
function_name() {
# comandos para ejecutar
}
Llama a la función simplemente haciendo referencia a su nombre:
function_name
Los scripts bash pueden aceptar parámetros de entrada desde la línea de comandos. Estos parámetros se almacenan en las variables $1
, $2
, $3
, etc., con $0
que representa el nombre del script:
echo "El primer argumento es: $1"
Bash te permite usar comandos del sistema externos dentro de tus scripts, como:
result=$(ls -l)
echo "$result"
Creemos un script bash simple para hacer una copia de seguridad de un directorio:
#!/bin/bash
src="/ruta/al/origen"
dest="/ruta/al/destino"
tar -czf backup-$(date +%Y-%m-%d).tar.gz -C "$src" .
mv backup-$(date +%Y-%m-%d).tar.gz "$dest"
Este script comprime el contenido del directorio fuente y mueve el archivo a la ubicación de destino.
La depuración es importante cuando las cosas no salen como se planeó. Bash proporciona opciones para depurar scripts:
bash -x scriptname.sh
Escribir scripts bash en Linux es una habilidad poderosa que puede ayudar a automatizar tareas diarias, gestionar actividades del sistema e incluso manejar procesos complejos. Ya sea que estés comenzando o buscando mejorar tus habilidades de scripting, la guía anterior proporciona un punto de partida sólido. Siguiendo estos pasos y adhiriéndose a las mejores prácticas, puedes volverte competente en escribir tus propios scripts bash y aprovechar todo el rango de funciones que Linux tiene para ofrecer. Al igual que cualquier habilidad, la práctica mejorará tu habilidad y, con el tiempo, podrás crear scripts para manejar tareas cada vez más complejas.
Si encuentras algo incorrecto en el contenido del artículo, puedes