WSL/BASH calls from the system command

조회 수: 16 (최근 30일)
Hugo Zeberg
Hugo Zeberg 2018년 2월 10일
댓글: Felicien Bonnefoy 2025년 7월 29일
Hi!
I have some linux software that I run using the Windows Subsystem for Linux (WSL) that I wish to execute from within MATLAB under Windows 10.
In the windows command prompt I can type, e.g., wsl ls.
But running the same command within MATLAB as
system('wsl ls')
does initally work (in this case shows the content of the folder) but then hangs. No 0 is returned that the command has executed successfully.
Any idea how to solve this?

답변 (3개)

Ankur Bose
Ankur Bose 2018년 9월 27일
Hello All, This was an issue with Windows 10 WSL that has been fixed in Windows 10 Build 17017. See the below link for more information
If you have Windows 10 Build greater than 17017 or Windows 10 April 2018 Update, you should not see this issue.
You can check your windows version by running the command winver

Matthias Senge
Matthias Senge 2018년 2월 12일
I have the same problem. My bash skript runs successfully, but no 0 is returned. Any help?
  댓글 수: 2
Hugo Zeberg
Hugo Zeberg 2018년 2월 12일
편집: Hugo Zeberg 2018년 2월 12일
I found a workaround, which is not that pretty but does work.
Call the JAVA runtime directly using
rt = java.lang.Runtime.getRuntime();
pr = rt.exec('wsl YOURCOMMAND');
pr.destroy();
Carlo Monjaraz
Carlo Monjaraz 2018년 4월 17일
I have the same issue, it requires me to press Enter to finish the command, which of course does not allow to run the scripts completely

댓글을 달려면 로그인하십시오.


Wei Feng
Wei Feng 2018년 5월 4일
I use the following codes to run bash in the MATLAB and it works.
% bashcmd = 'D:\cygwin64\bin\bash.exe -c ';
% bashcmd = 'D:\MinGW\msys\1.0\bin\bash.exe -c ';
bashcmd = 'bash -c '; % WSL
runcmd = ['"' cmd '"'];
status = system([bashcmd runcmd]);
if (status ~= 0)
error(['Run bash cmd error: ' num2str(status)]);
end
The bash can also be Cygwin or MinGW.
  댓글 수: 1
Felicien Bonnefoy
Felicien Bonnefoy 2025년 7월 29일
Thanks for the code, it proved very usefull.
A quick note: Adding also the -i option to the bash function runs it interactively so the ./bashrc file is loaded.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Startup and Shutdown에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by