3

Я установил Windows Subsystem для Linux (WSL), чтобы использовать Bash для Ubuntu в Windows (далее сокращенно до «Bash».) В cmd.exe я могу запустить bash -c gcc --version а также использовать cmd -k bash -c gcc --version из меню «Пуск». Однако я заметил, что не могу запустить ту же команду из сторонних приложений, например, Sublime Text или Atom.

Рассмотрим следующую систему сборки для Sublime Text и на данный момент игнорируем тот факт, что это ничего не будет собирать:

{
  "cmd": [ "bash", "-c" "gcc", "--version" ],
  "working_dir": "${project_path:${folder}}",
  "selector" : "source.c"
}

Выполнение команды построения приведет к Error: 0x80070057 . При включенном унаследованном режиме для cmd.exe появляется сообщение об ошибке « Unsupported console settings. In order to use this feature the legacy mode must be disabled.

Среди прочего я уже пытался заставить его работать:

  1. Использование абсолютных путей к bash.exe , например %SystemRoot%\System32\bash.exe

  2. Запустите пакетный файл в инструменте сборки (content: bash -c gcc --version). Примечательно, что пакетный файл работает при запуске из cmd.exe

  3. Измените команду сборки на [ "cmd", "/k", "bash", "-c" "gcc", "--version"]

  4. Добавить "shell": true в мой файл сборки

Иногда ошибка меняется на «[bash] не распознается как внутренняя или внешняя команда», даже если C:\Windows\System32 находится на моем пути.

Есть ли ограничение, что Bash может быть запущен только из cmd.exe? Есть ли обходные пути, которые позволили бы мне запустить batch из Sublime Text?

2 ответа2

3

Я думаю, что вы можете попробовать это решение.

Использование подсистемы Windows для Linux (WSL) из Sublime Text

И нет, нет необходимости заменять bash на bash.exe .

0

У меня нет вашей среды, чтобы проверить это, но я предлагаю заменить "bash" на "bash.exe". Команде Windows cmd.exe требуется суффикс .exe для выполнения команды bash.exe. Команда WSL /usr /bin /bash отличается от команды Windows C:\Windows\System32\bash.exe.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .