- El Subsistema de Windows para Linux (WSL) permite ejecutar un entorno Linux real y scripts Bash directamente en Windows.
- La integración entre Windows y WSL permite trabajar de forma híbrida, combinando herramientas, archivos y automatización de ambos sistemas.
- La creación y ejecución de scripts Bash en WSL resulta óptima tanto para desarrolladores como para administradores, facilitando desde tareas simples hasta flujos de trabajo avanzados.
El auge del desarrollo y la administración de sistemas en entornos mixtos ha impulsado el uso de Bash dentro de Windows, especialmente gracias a la llegada del Subsistema de Windows para Linux (WSL). Esto ha quitado barreras anteriores para quienes necesitaban emplear scripts y utilidades nativas de Linux sin abandonar la comodidad de Windows. Ahora, automatizar tareas, gestionar servidores o simplemente aprender comandos de Linux es posible sin virtualizaciones complicadas ni dobles arranques.
Este artículo es una guía práctica y exhaustiva para quienes desean crear, ejecutar y sacar partido a los scripts en Bash sobre Windows utilizando WSL. Aquí encontrarás desde la explicación y configuración del entorno, instalación de distribuciones, uso de editores, gestión de archivos, puntos críticos de interoperabilidad hasta consejos de depuración y automatización avanzada. Si quieres dominar la integración de Bash en Windows, este recurso está pensado para ti.
¿Qué es Bash y por qué usarlo en Windows con WSL?
Bash es el shell o intérprete de comandos más popular en sistemas Linux y Unix, ampliamente utilizado para automatizar procesos, administrar servidores, ejecutar tareas de mantenimiento y facilitar el desarrollo. Por su parte, el Subsistema de Windows para Linux (WSL) es una tecnología de Microsoft que permite ejecutar un entorno Linux completo sobre Windows, fusionando lo mejor de ambos sistemas sin necesidad de máquinas virtuales pesadas ni configuraciones complejas.
Gracias a esta integración, puedes ejecutar scripts Bash, acceder a herramientas nativas de Linux, administrar archivos y combinar comandos de Windows y Linux en un solo flujo de trabajo. Esto resulta especialmente útil para desarrolladores, administradores y entusiastas que trabajan en entornos heterogéneos o quieren aprovechar lo mejor de ambos mundos.
Primeros pasos: requisitos y configuración previa de WSL
Antes de zambullirte en el mundo de Bash en Windows, asegúrate de que tu sistema cumple algunos requisitos básicos:
- Windows 10 versión 1607 o superior, o Windows 11.
- Sistema operativo de 64 bits.
- Virtualización activada en BIOS/UEFI.
Con esto, ya puedes preparar el entorno:
- Activa WSL: Abre PowerShell como administrador y ejecuta:
wsl --install
o usa el clásico Panel de Control para activar «Subsistema de Windows para Linux». - Habilita la plataforma de máquina virtual (solo necesario para WSL 2):
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- Actualiza el kernel de Linux (si es necesario): Descarga el paquete de Microsoft para tener el kernel más reciente.
- Establece WSL 2 como predeterminado:
wsl --set-default-version 2
- Reinicia el PC para aplicar los cambios.
Una vez hecho esto, puedes instalar tu distribución de Linux favorita (como Ubuntu, Debian, Fedora…) directamente desde Microsoft Store.
Instalación y configuración de una distribución Linux
El siguiente paso es instalar la distribución que prefieras desde la Microsoft Store, siendo Ubuntu la opción más popular y recomendada para principiantes.
- Busca «Ubuntu» en Microsoft Store y selecciona la versión que te interese.
- Haz clic en «Obtener» e «Instalar».
- Una vez instalada, ábrela desde el menú de inicio. La primera vez que la ejecutes, te pedirá que crees un usuario y contraseña exclusivos para Linux (estos no están conectados a tu cuenta de Windows).
¡Recuerda guardar bien estos datos! Serán necesarios para gestionar tareas administrativas con sudo
.
Actualizar y preparar el entorno Linux en WSL
Tras instalar Ubuntu o tu distribución elegida, es conveniente actualizar los paquetes:
Abre la terminal y ejecuta:
sudo apt update && sudo apt upgrade -y
También puedes instalar utilidades esenciales:
sudo apt install git curl build-essential -y
Estas herramientas facilitan tareas de desarrollo y scripts avanzados.
Gestionar archivos y sistemas de ficheros entre Windows y WSL
Una de las ventajas principales de WSL es la integración total con los sistemas de archivos de Windows y Linux.
- Accede a los discos de Windows desde Linux: Las unidades aparecen en
/mnt/
(ejemplo:/mnt/c
para la unidad C:). - Abre el Explorador desde WSL: Escribe
explorer.exe .
para visualizar el directorio actual en Windows.
Para optimizar el rendimiento, almacena tus proyectos en el sistema de archivos nativo:
- Desde Bash, guarda en
~
o/home/usuario
. - Para editar con herramientas Windows, trabaja en C: sin problemas.
Primeros pasos con Bash: sintaxis básica y creación de scripts
Un script en Bash es un archivo de texto con comandos escritos en la sintaxis de Bash. La extensión habitual es .sh
, aunque no es obligatoria.
- Crea un archivo con tu editor favorito (nano, vim, code, etc):
nano mi_script.sh
- Incluye siempre el shebang para indicar el intérprete:
#!/bin/bash
- Añade comandos debajo, uno por línea. Ejemplo:
Por ejemplo: echo "¡Hola, mundo!"
Guarda y cierra el editor.
Haz el script ejecutable con:
chmod +x mi_script.sh
Luego ejecútalo con:
./mi_script.sh
También puedes ejecutarlo usando Bash sin permisos previos:
bash mi_script.sh
Elementos fundamentales de los scripts Bash
Los scripts en Bash permiten automatizar tareas complejas combinando comandos y estructuras de control.
- Variables: Se asignan sin declaración previa:
variable=valor
. Para utilizar el valor, usa$variable
. - Comentarios: Se indican con
#
. - Entrada y salida:
read nombre
solicita datos al usuario, yecho
imprime textos o variables. - Condicionales: Como
if
,elif
yelse
. Ejemplo sencillo:
if ; then echo "Eres mayor de edad"; fi
- Bucles:
for
,while
ycase
para repetir acciones o tomar decisiones. - Manejo de argumentos: Accede a ellos con
$1
,$2
, etc.
Automatización y programación de tareas con Bash y WSL
Los scripts Bash pueden programarse para ejecutarse automáticamente: usando cron en Linux o el Programador de tareas en Windows.
- Con cron:
Ejecutacrontab -e
y añade líneas como:
0 0 * * * /home/usuario/miscript.sh
para ejecutarlo cada noche a medianoche. - Interoperabilidad Bash-Windows: Usa
comando.exe
para llamar comandos de Windows o ejecuta Bash desde Windows con:
wsl bash -c "comando"
.
Optimización avanzada: uso de editores, integración con VS Code y Git
Para proyectos complejos, aprovecha editores avanzados y control de versiones.
- Visual Studio Code: compatible con WSL mediante su extensión «Remote – WSL». Solo instala la extensión y abre con
code .
. - Git: instala con
sudo apt install git
, así puedes clonar repositorios, hacer commits y gestionar versiones sin salir de Bash.
Trabaja de forma profesional desde Windows, pero con las herramientas de Linux.
Combinando comandos y ejemplos prácticos con WSL
Una ventaja de WSL es la posibilidad de mezclar comandos Windows y Linux en una misma línea. Algunos ejemplos útiles:
- Mostrar archivos con Linux desde PowerShell:
wsl ls -la
- Filtrar resultados:
wsl ls -la | findstr "git"
- Editar archivos con Windows:
notepad.exe .bashrc
- Exportar distribución:
wsl --export Ubuntu backup.tar
ywsl --import UbuntuNueva carpeta backup.tar
Para consultar todos los comandos disponibles, usa wsl --help
.
Gestión avanzada: discos, contenedores, bases de datos y GPU
Con WSL 2 puedes montar discos externos, gestionar contenedores Docker y usar bases de datos en tu entorno Linux virtualizado.
- Montar discos o USB:
wsl --mount X:
- Soporte para Docker: Docker Desktop se integra automáticamente con WSL 2 para gestionar contenedores.
- Bases de datos: Instala servidores como MySQL, PostgreSQL o MongoDB directamente en WSL para desarrollo local.
- Aceleración con GPU: Aprovecha la GPU para tareas intensivas si tu hardware lo soporta.
Trucos, depuración y resolución de problemas más habituales
Algunos errores comunes en scripts Bash en WSL pueden tener soluciones sencillas:
- Permiso denegado: Ejecuta
chmod +x script.sh
. - Errores de sintaxis o depuración: Añade
set -x
al inicio o ejecuta conbash -x script.sh
. - Problemas con PATH: Añade las rutas a
~/.bashrc
y recarga consource ~/.bashrc
. - Fallos en cron: Revisa
/var/log/syslog
para detectar errores en tareas programadas. - Fallo en scripts automatizados: Usa
set -e
para detenerse ante errores y evitar efectos indeseados.
Dominar la creación de scripts en Bash sobre Windows con WSL amplía significativamente tus capacidades. La integración entre ambos sistemas permite automatizar, gestionar y potenciar tu entorno de trabajo sin complicaciones, aprovechando las ventajas de Linux y Windows en un solo lugar. La correcta configuración, el aprendizaje de los comandos principales y el uso de herramientas de edición y control de versiones te facilitarán alcanzar un nivel profesional en tus proyectos.
Redactor apasionado del mundo de los bytes y la tecnología en general. Me encanta compartir mis conocimientos a través de la escritura, y eso es lo que haré en este blog, mostrarte todo lo más interesante sobre gadgets, software, hardware, tendencias tecnológicas, y más. Mi objetivo es ayudarte a navegar por el mundo digital de forma sencilla y entretenida.