Я установил 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.
Среди прочего я уже пытался заставить его работать:
Использование абсолютных путей к
bash.exe, например%SystemRoot%\System32\bash.exeЗапустите пакетный файл в инструменте сборки (content:
bash -c gcc --version). Примечательно, что пакетный файл работает при запуске изcmd.exeИзмените команду сборки на
[ "cmd", "/k", "bash", "-c" "gcc", "--version"]Добавить
"shell": trueв мой файл сборки
Иногда ошибка меняется на «[bash] не распознается как внутренняя или внешняя команда», даже если C:\Windows\System32 находится на моем пути.
Есть ли ограничение, что Bash может быть запущен только из cmd.exe? Есть ли обходные пути, которые позволили бы мне запустить batch из Sublime Text?
