Clase 00 — Introducción a Bash
¿Qué es Bash?
Bash (Bourne Again Shell) es un intérprete de comandos y lenguaje de scripting para sistemas Unix/Linux. Es el shell por defecto en la mayoría de distribuciones Linux y en macOS (versiones anteriores a Catalina).
¿Por qué aprender Bash?
- Automatización de tareas repetitivas
- Administración de servidores
- Pipelines de CI/CD (Jenkins, GitHub Actions, GitLab CI)
- Gestión de infraestructura (Docker, Kubernetes, Terraform)
- Es la base de DevOps
Verificar tu versión de Bash
bash --version
echo $BASH_VERSION
Tu primer script
Creá un archivo llamado hola.sh:
#!/bin/bash
# Mi primer script en Bash
echo "¡Hola, mundo!"
Explicación línea por línea
| Línea | Descripción |
|---|---|
#!/bin/bash | Shebang: indica al sistema qué intérprete usar |
# Mi primer script | Comentario (se ignora al ejecutar) |
echo "¡Hola, mundo!" | Imprime texto en la terminal |
Dar permisos y ejecutar
# Dar permisos de ejecución
chmod +x hola.sh
# Ejecutar el script
./hola.sh
También podés ejecutarlo sin permisos con:
bash hola.sh
Ejemplo: Script con información del sistema
#!/bin/bash
# Script que muestra información básica del sistema
echo "========================================="
echo " INFORMACIÓN DEL SISTEMA"
echo "========================================="
echo "Usuario : $(whoami)"
echo "Hostname : $(hostname)"
echo "Fecha : $(date)"
echo "Directorio : $(pwd)"
echo "Shell : $SHELL"
echo "Kernel : $(uname -r)"
echo "========================================="
Comentarios en Bash
#!/bin/bash
# Esto es un comentario de una línea
: '
Esto es un comentario
de múltiples líneas
en Bash
'
echo "Los comentarios no se ejecutan"
Buenas prácticas desde el inicio
- Siempre incluí el shebang
#!/bin/bash - Comentá tu código para que otros (y vos en el futuro) lo entiendan
- Usá nombres descriptivos para tus scripts
- Extensión
.shpara identificar scripts de Bash - Usá
set -epara que el script se detenga ante errores
#!/bin/bash
set -e # Detener ante errores
set -u # Error si se usa variable no definida
set -o pipefail # Detectar errores en pipes
Modo estricto
La combinación set -euo pipefail se conoce como "modo estricto" de Bash. Es una buena práctica incluirla al inicio de todos tus scripts para detectar errores tempranamente.
Ejercicio práctico
Creá un script llamado mi-info.sh que muestre:
- Tu nombre de usuario
- La fecha y hora actual
- El directorio actual
- La versión de Bash