#powershell #windows-subsystem-for-linux
#powershell #подсистема Windows для Linux
Вопрос:
Я пытаюсь запустить скрипт, который запускает терминал WSL (ubuntu1804), а затем запустить скрипт bash в этом терминале
.ubuntu1804.exe;
cd test_directory;
node server.js;
Однако после первой команды терминал открывается, однако две другие команды не выполняются
Ответ №1:
.ubuntu1804.exe
сам по себе открывает интерактивную оболочку, которая синхронно выполняется PowerShell.
То есть, пока вы не отправите exit
в этой интерактивной оболочке для его завершения управление не будет возвращено PowerShell, поэтому последующие команды — cd test_directory
и note server.js
— не только не отправляются .ubuntu1804.exe
, как вы предполагали, но затем выполняются PowerShell.
Вместо этого вы должны передать команды для запуска .ubuntu1804.exe
через run
подкоманду:
.ubuntu1804.exe run 'cd test_directory; node server.js'
Примечание: После node
завершения работы управление будет возвращено PowerShell.