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:
| Shell | Descripción breve |
|---|---|
sh | Shell original, muy básico y estándar POSIX. |
bash | Bourne Again SHell, el más usado en Linux, potente y con muchas funciones. |
zsh | Más moderno, usado en macOS por defecto. |
fish | Muy 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 $SHELLSalida de Consola!: /bin/sh
Para ver la versión de Bash:
1bash --versionSalida 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”
- Crea un archivo llamado
hola.sh:
1nano hola.sh
- 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 bashse llama shebang.- Indica al sistema que use Bash para ejecutar el archivo.
- Es preferible a
#!/bin/bashporque 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
-
Nombres simples y sin espacios: usa
-o_.- ✅
backup_datos.sh - ❌
mi script.sh
- ✅
-
Siempre empieza con shebang para asegurar que el script se ejecute en el shell correcto.
-
Haz los archivos ejecutables (
chmod +x archivo.sh). -
Comenta lo importante para entender el propósito del script.
✅ Resumen rápido
- El shell es el intérprete de comandos (usaremos Bash).
- Verifica la versión con
bash --version. - Crea tu primer script con un shebang.
- Da permisos de ejecución con
chmod +x. - Ejecuta con
./archivo.sh.
🏋️♂️ Ejercicio práctico
Crea un script llamado saludo.sh que:
- Muestre un mensaje de bienvenida.
- Indique qué usuario está ejecutando el script.
- Muestre la fecha y hora actuales.
💡 Pistas:
- Usa
whoamipara el usuario. - Usa
datepara 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...