Matlab system command doesn't work properly on linux platform
20 次查看(过去 30 天)
显示 更早的评论
When execute system('hostname -s') -command in matlab, process go to linux command line and in linux command line making exit command, process will go back to matlab command line with hostname.
Example run:
>> system('hostname -s')
[j...al@oulng208 users3/j...al]$exit
exit
oulng208
ans =
0
>>
Why matlab goes to linux command line? It should stay in matlab.
2 个评论
回答(2 个)
Rik
2020-5-22
If you want to capture the output to a Matlab variable, you should use the second output:
[status,response]=system('hostname -s');
I don't have Matlab installed on my Ubuntu VM, but this works in Octave, so it should do the trick.
0 个评论
Walter Roberson
2020-5-22
https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html
You have a BASH_ENV or equivalent for your shell, that is triggering interactive execution for the non-interactive case.
Hypothetically there could also be issues if you have SHELL environment variable set to include flags that should not be set for non-interactive work.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Environment and Settings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!