Run MATLAB script and pass variables in Linux terminal

조회 수: 9 (최근 30일)
Chaabane
Chaabane 2019년 12월 2일
댓글: Chaabane 2020년 2월 17일
Hello,
I'm trying to run a script file "test.m" from Linux terminal that does the following :
AllFiles = dir(FilePath)
I want to declare FilePath in matlab workspace before calling the script.
I'm using the following line of code but Matlab reporting error : undefined FilePath!
matlab -nodisplay -nosplash -nodesktop -r "FilePath='data';test; exit;"
I also tried using function to pass variable as argument but my paths have spaces and I can't change that, this results for some confusing between linux and matlab path rules !
My function is
function testfcn(FilePath)
FilePath
AllFiles = dir(FilePath)
end
matlab -nodisplay -nosplash -nodesktop -r "testfcn('slprj/New Folder/');exit;"
When I have no space in my path things works but not when path contain space. I tried adding \ before the space caractere, enclose the whole path by ".
Any idea on how to overcome this issue ?

채택된 답변

Bhargavi Maganuru
Bhargavi Maganuru 2020년 2월 17일
You can make use of -r option in the matlab command
For example if your function is
function test(FilePath)
AllFiles = dir(FilePath);
end
You can call the function using following command
matlab -nodisplay -nosplash -nodesktop -r "test(data)" % where data is the name of the folder
This command also works when there is space in the name of the folder.
  댓글 수: 1
Chaabane
Chaabane 2020년 2월 17일
Thank you, indeed I already implemented it. somehow I miss wrote the command.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Third-Party Cluster Configuration에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by