n1ro°
RU

Текст и данные · Инструкция

Как передавать переменные Windows и WSL через WSLENV

Это полезно, когда один dev workflow запускает часть инструментов в Windows, а часть в WSL и им нужен согласованный path

Редакция N1RO · Проверено

Короткий ответ

Добавьте имя переменной в `WSLENV`. Флаг `/p` переводит путь, `/l` обозначает список путей, `/u` оставляет переменную только при запуске WSL из Win32, а `/w` — только при запуске Win32 из WSL.

Что делать

  1. Определите переменную, которую действительно нужно передавать между Windows и WSL.
  2. Добавьте её имя в `WSLENV`, сохранив уже существующие элементы списка.
  3. Для path добавьте `/p`; для списка путей — `/l`.
  4. Используйте `/u`, если переменная нужна только при запуске WSL из Win32; `/w` — только при запуске Win32 из WSL.
  5. Запустите новый процесс с нужной стороны границы Win32/WSL, чтобы он получил обновлённое окружение.
  6. Проверьте значение и преобразование пути в целевом процессе.

Важно

  • WSLENV чувствителен к регистру и не является секрет-хранилищем.

Что учитывать

WSLENV чувствителен к регистру и не является секрет-хранилищем.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. WSL interop — Windows and Linux integration). Пример и формулировки — редакция N1RO на 2026-09-18.