Я нашел обходной путь, который заключается в создании командного файла для каждой команды Linux. В приведенных ниже примерах я создаю подкаталог Linux
в домашнем каталоге пользователя для хранения командных файлов. Я также предположил, что команды набираются, а не выполняются из командного файла.
Сначала создайте подкаталог и добавьте его в PATH
:-
md %HomePath%\Linux
PATH=%PATH%;%HomePath%\Linux
- Вы можете добавить путь
Linux
перед другими записями PATH
если хотите, чтобы утилиты Linux имели приоритет над приложениями Windows с аналогичными именами.
- Вы можете сделать изменение постоянным, добавив его в предустановленные пути Windows или создав файл инициализации CMD.
Теперь перейдите в каталог Ubuntu /bin
, чтобы создать командные файлы:-
cd %LocalAppData%\lxss\rootfs\bin
for %f in (*) do echo @%SystemRoot%\System32\bash.exe -c "%f %*">%HomePath%\Linux\%f.cmd
- Команды Linux обычно не имеют встроенных пробелов, и я предположил это.
- Если вы хотите включить другие каталоги Linux (например,
/usr/bin
, $HOME/bin
и т.д.), Затем выполните команду for
в каждом каталоге по очереди в обратном порядке по сравнению с тем, как каталоги отображаются в $PATH
, если вы не хотите создавать отдельные каталоги Windows для каждого каталога Linux.
Если вы загружаете Windows X-сервер, вы можете включить приложения с Ubuntu GUI.