Running shell script through system function in matlab.
4 views (last 30 days)
Show older comments
Hi, all.
I am trying to run the binaries in the matlab command window via system function.
The thing is, when I run the exact same code in the bash shell script, it's completely fine.
But it doesn't work in the matlab system function.
For example,
$ somefunc Input Output
works just fine in the shell,
but
>> system("somefunc Input Output")
is not working...
By typing
>> system("somefunc")
I realized that the shell opened through matlab recognizes the function but only when input is given, it complains saying,
"terminate called after throwing an instance of 'std::logic_error'
what(): basic_string:_S_construct not valid"
Any ideas about how to deal with this?
I'd really appreciate your help!!
btw, my matlab version is R2021b.
2 Comments
Arya Chandan Reddy
on 29 Jun 2023
Edited: Arya Chandan Reddy
on 29 Jun 2023
Hi , could you share the exact command that led to this error. For instance, I tried 'mkdir testfolder' of the similar format you stated "somefunc input" and seems to be working.
Answers (2)
Song-Hyun Ji
on 30 Jun 2023
If you want to store the Output and use multiple arguments, please run like the following format.
>> [status, cmdout] = system("test.bat 4 5")
status =
0
cmdout =
'9
'
Or
>> ! test.bat 3 4
7
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!