En este módulo aprenderás:
- Automatiza la creación de proyectos, backups hacia la tarjeta SD y chequeo de salud con scripts en Bash.
- Comandos y configuraciones clave para 09. Scripts pro automatizados
- Ejercicios prácticos listos para probar en tu terminal local
Habla causa: Automatizar es de seniors
Causita, estar escribiendo secuencias largas de comandos en el teclado táctil de tu teléfono es la forma más rápida de cansarse. Los seniors crean pequeños scripts en ~/.local/bin/ para resolver tareas repetitivas con un solo alias.
Heredoc (cat << ‘EOF’)Scripts en ~/.local/binBackups a /sdcard
El Poder del “Heredoc” (cat > archivo << 'EOF')
El patrón cat > ruta << 'EOF' permite crear archivos de configuración y scripts multilínea sin abrir un editor de texto interactivo:
cat > ~/.local/bin/saludo << 'EOF'
#!/bin/bash
echo "¡Habla causa! Entorno móvil listo para chambear 🚀"
EOF
chmod +x ~/.local/bin/saludo
1. Script verificar: Chequeo de Salud del Entorno
~/.local/bin/verificarbash
cat > ~/.local/bin/verificar << 'EOF'
#!/bin/bash
echo "🔍 === AUDITORÍA DE ENTORNO MÓVIL ==="
echo "Node: $(node -v 2>/dev/null || echo 'No instalado')"
echo "pnpm: $(pnpm -v 2>/dev/null || echo 'No instalado')"
echo "Mise: $(mise -v 2>/dev/null || echo 'No instalado')"
echo "Git: $(git --version 2>/dev/null || echo 'No instalado')"
echo "GitHub CLI: $(gh --version 2>/dev/null | head -n 1 || echo 'No instalado')"
echo "Espacio: $(df -h /data | awk 'NR==2 {print $4 " libres de " $2}')"
echo "====================================="
EOF
chmod +x ~/.local/bin/verificar
2. Script nuevo-proyecto: Wizard Multi-stack
~/.local/bin/nuevo-proyectobash
cat > ~/.local/bin/nuevo-proyecto << 'EOF'
#!/bin/bash
echo "🚀 Selecciona el stack a inicializar:"
echo "1) Astro 7 (Web / Documentación)"
echo "2) Vite + React 19 + Tailwind"
echo "3) Node.js API con Fastify"
read -p "Opción [1-3]: " opt
read -p "Nombre del proyecto: " name
case $opt in
1) pnpm create astro@latest $name --template minimal ;;
2) pnpm create vite@latest $name --template react-ts ;;
3) mkdir -p $name && cd $name && pnpm init && pnpm add fastify ;;
*) echo "Opción inválida" ;;
esac
EOF
chmod +x ~/.local/bin/nuevo-proyecto
3. Script backup-sd: Respaldo Automático a /sdcard
~/.local/bin/backup-sdbash
cat > ~/.local/bin/backup-sd << 'EOF'
#!/bin/bash
DEST="/sdcard/Backups-Dev"
FECHA=$(date +"%Y-%m-%d_%H%M")
mkdir -p "$DEST"
echo "📦 Creando respaldo de dotfiles y proyectos..."
tar -czf "$DEST/backup_dotfiles_$FECHA.tar.gz" -C $HOME .zshrc .gitconfig .ssh .config 2>/dev/null
echo "✅ Respaldo guardado en: $DEST/backup_dotfiles_$FECHA.tar.gz"
EOF
chmod +x ~/.local/bin/backup-sd
Agrega ~/.local/bin a tu PATH
Asegúrate de tener export PATH="$HOME/.local/bin:$PATH" en tu ~/.zshrc para poder correr verificar o nuevo-proyecto desde cualquier directorio.
Reto Ninja de la Lección 🥷
Comprueba tus habilidades en automatización con scripts en bash:
Reto Ninja: Scripts en Bash 🛠️
Pregunta 1/3
❯reto --step=1
¿Qué permiso de Linux es necesario otorgar a un script recién creado para poder ejecutarlo directamente?
Ejercicio Práctico Ninja 🥷
- Crea los tres scripts en
~/.local/bin/. - Dale permisos con
chmod +x ~/.local/bin/*. - Ejecuta
verificarpara chequear el estado de tu sistema.
¿Terminaste esta lección?
Marca tu progreso para sincronizar el avance en tu navegador.