MATLAB Answers

nohup matlab - how to pass input to scripts

31 views (last 30 days)
Andrea Togni
Andrea Togni on 3 Mar 2021
Answered: Rik on 3 Mar 2021
I'm trying to run scripts on a remote server by using the following command, where TEST(.m) is my script.
nohup matlab -nosplash -nodisplay -nodesktop -r 'try; TEST; catch; save code_err; end; quit' > output.log
I want to run functions as well, for instance a function TEST(argin1,argin2), but the following command doesn't work:
nohup matlab -nosplash -nodisplay -nodesktop -r 'try; TEST(argin1,argin2); catch; save code_err; end; quit' > output.log
What should be the correct syntax?
EDIT: What is the syntax to launch functions that require inputs?
  4 Comments
Andrea Togni
Andrea Togni on 3 Mar 2021
In my case, they will be the directories of the datasets I work on.
I want to input them each time differently and avoid saving them in .txt files to avoid confusion when editing and launching.
E.g. TEST('/home/folder/subfolder/dataset1','/home/folder/subfolder/dataset2')

Sign in to comment.

Answers (1)

Rik
Rik on 3 Mar 2021
So actually your question is how to define a char array inside such a call. I suspect you simply need to escape the quotes:
nohup matlab -nosplash -nodisplay -nodesktop -r 'try; TEST(''/home/folder/subfolder/dataset1'',''/home/folder/subfolder/dataset2''); catch; save code_err; end; quit' > output.log

Community Treasure Hunt

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

Start Hunting!

Translated by