Cómo crear scripts en Bash para Windows con Windows Subsystem for Linux

Última actualización: 06/08/2025
Autor: Isaac
  • 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.

Crear scripts en Bash para Windows con WSL

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.

Bash en WSL, integración sistema

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.
  The Most Costly Apple Product Ever Offered

Con esto, ya puedes preparar el entorno:

  1. 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».
  2. Habilita la plataforma de máquina virtual (solo necesario para WSL 2):
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  3. Actualiza el kernel de Linux (si es necesario): Descarga el paquete de Microsoft para tener el kernel más reciente.
  4. Establece WSL 2 como predeterminado:
    wsl --set-default-version 2
  5. 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 de Ubuntu con WSL

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.

  1. Busca «Ubuntu» en Microsoft Store y selecciona la versión que te interese.
  2. Haz clic en «Obtener» e «Instalar».
  3. 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.

Actualización y preparación de entorno WSL

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.
  Cómo añadir una aplicación o programa a Home windows 10 Dwelling

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.

  1. Crea un archivo con tu editor favorito (nano, vim, code, etc):
    nano mi_script.sh
  2. Incluye siempre el shebang para indicar el intérprete:
    #!/bin/bash
  3. 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

Ejecutar scripts Bash en WSL

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, y echo imprime textos o variables.
  • Condicionales: Como if, elif y else. Ejemplo sencillo:
    if ; then echo "Eres mayor de edad"; fi
  • Bucles: for, while y case 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:
    Ejecuta crontab -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".

Automatización y cron en WSL

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 y wsl --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.
  Cómo tener dos cuentas de Spotify en el mismo móvil

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 con bash -x script.sh.
  • Problemas con PATH: Añade las rutas a ~/.bashrc y recarga con source ~/.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.

Automatizar el arranque de máquinas virtuales con scripts en windows
Artículo relacionado:
Automatizar el arranque de máquinas virtuales con scripts en Windows

Deja un comentario