Curso de Shell Scripting

Antes de escribir scripts, necesitamos entender qué es un shell, cómo comprobar que está instalado y preparar nuestro entorno para trabajar cómodamente.


0.1. ¿Qué es un shell?

El shell es un programa que actúa como intérprete entre tú y el sistema operativo. Tú escribes comandos y el shell los ejecuta.

Hay varios shells, los más conocidos son:

ShellDescripción breve
shShell original, muy básico y estándar POSIX.
bashBourne Again SHell, el más usado en Linux, potente y con muchas funciones.
zshMás moderno, usado en macOS por defecto.
fishMuy interactivo, pero menos estándar para scripts.

⚡ En este curso usaremos Bash, ya que es el más extendido y está presente en la mayoría de sistemas Linux. Aprenderás a escribir scripts que también puedan ser compatibles con sh (POSIX) cuando sea posible.


0.2. Comprobar el shell disponible

En Linux o macOS, abre la terminal y ejecuta:

Muestra el shell que estás usando, por ejemplo:

1echo $SHELL
Salida de Consola!:
/bin/sh

Para ver la versión de Bash:

1bash --version
Salida de Consola!:
GNU bash, version 5.2.0(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Si estás en macOS (que trae zsh por defecto), puedes instalar Bash actualizado:

1brew install bash

En Windows, lo más práctico es usar WSL (Windows Subsystem for Linux). Instala, por ejemplo, Ubuntu desde la Microsoft Store y abre su terminal.


0.3. Crear un primer script: “Hola mundo”

  1. Crea un archivo llamado hola.sh:
1nano hola.sh
  1. Escribe dentro:
1#!/usr/bin/env bash
2echo "Hola mundo desde mi primer script!"
Salida de Consola!:
Hola mundo desde mi primer script!
  • La primera línea #!/usr/bin/env bash se llama shebang.

    • Indica al sistema que use Bash para ejecutar el archivo.
    • Es preferible a #!/bin/bash porque busca Bash en la ruta correcta del sistema.

0.4. Dar permisos de ejecución

Para poder ejecutar el script, dale permisos:

1chmod +x hola.sh

0.5. Ejecutar el script

Ahora ejecútalo con:

1./hola.sh

Salida esperada:

Hola mundo desde mi primer script!

✅ ¡Acabas de ejecutar tu primer Shell Script!


0.6. Ejecutar sin permisos (opcional)

Si no das permisos, también puedes ejecutar usando bash explícitamente:

1bash hola.sh

0.7. Comentarios en los scripts

Para documentar los scripts, usa #:

1#!/usr/bin/env bash
2# Mi primer script en Bash
3echo "Hola mundo"
Salida de Consola!:
Hola mundo

⚠️ Todo lo que está después de # en la misma línea se ignora al ejecutar.


0.8. Buenas prácticas desde el inicio

  1. Nombres simples y sin espacios: usa - o _.

    • backup_datos.sh
    • mi script.sh
  2. Siempre empieza con shebang para asegurar que el script se ejecute en el shell correcto.

  3. Haz los archivos ejecutables (chmod +x archivo.sh).

  4. Comenta lo importante para entender el propósito del script.


✅ Resumen rápido

  1. El shell es el intérprete de comandos (usaremos Bash).
  2. Verifica la versión con bash --version.
  3. Crea tu primer script con un shebang.
  4. Da permisos de ejecución con chmod +x.
  5. Ejecuta con ./archivo.sh.

🏋️‍♂️ Ejercicio práctico

Crea un script llamado saludo.sh que:

  1. Muestre un mensaje de bienvenida.
  2. Indique qué usuario está ejecutando el script.
  3. Muestre la fecha y hora actuales.

💡 Pistas:

  • Usa whoami para el usuario.
  • Usa date para la fecha.
1#!/usr/bin/env bash
2echo "¡Bienvenido al script!"
3echo "Usuario actual: $(whoami)"
4echo "Fecha y hora actuales: $(date)"
Salida de Consola!:
¡Bienvenido al script!
Usuario actual: Manuel
Fecha y hora actuales: Tue May 26 22:16:44 UTC 2026
  • Loading...