WSL/BASH calls from the system command

96 views (last 30 days)
Hugo Zeberg
Hugo Zeberg on 10 Feb 2018
Answered: Ankur Bose on 27 Sep 2018
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?

Answers (3)

Ankur Bose
Ankur Bose on 27 Sep 2018
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 on 12 Feb 2018
I have the same problem. My bash skript runs successfully, but no 0 is returned. Any help?
Carlo Monjaraz
Carlo Monjaraz on 17 Apr 2018
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

Sign in to comment.

Wei Feng
Wei Feng on 4 May 2018
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)]);
The bash can also be Cygwin or MinGW.

Community Treasure Hunt

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

Start Hunting!