Saltar al contenido principal

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íneaDescripción
#!/bin/bashShebang: indica al sistema qué intérprete usar
# Mi primer scriptComentario (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

  1. Siempre incluí el shebang #!/bin/bash
  2. Comentá tu código para que otros (y vos en el futuro) lo entiendan
  3. Usá nombres descriptivos para tus scripts
  4. Extensión .sh para identificar scripts de Bash
  5. Usá set -e para 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