system('wsl sudo ...') does not work

3 views (last 30 days)
Francesco Bellelli
Francesco Bellelli on 15 Jun 2022
Answered: Francesco Bellelli on 16 Jun 2022
Hi, i'm trying to write a script that executes a few command through wsl on Windows (basically to automatic install libraries from apt and a c++ routine with ./configure and make).
When I use command such as
system('wsl ./configure')
it goes well, but when I use some like
system('wsl sudo apt-get install')
the script runs but never ends (I see always the "pause" button).
Any suggestions on how to fix this? Thanks
  4 Comments
Rik
Rik on 16 Jun 2022
The double layer is apparently a problem. Could there be a way to pipe the password in somehow? That would require you to store the password in a Matlab variable, but I don't really see a way around that myself. (you can use the input function if you don't want to store the password in plain text in your m file)

Sign in to comment.

Answers (1)

Francesco Bellelli
Francesco Bellelli on 16 Jun 2022
It seems to work now by taking as input from the user his password and then using
system(wsl echo <password> | wsl sudo -S <command>)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!