Is there a -batch option prior to 2019a, i.e., in 2017a
3 次查看(过去 30 天)
显示 更早的评论
In version 2019a there is a -batch option for running matlab non-interactively that does not start the desktop. Is there an equivalent option for earlier versions of matlab, e.g., 2017a?
0 个评论
回答(1 个)
Tom Holz
2020-3-2
编辑:Tom Holz
2020-3-3
[ EDIT: the command-line below is wrong. See Edric and Steven's comments for the correct way to emulate batch functionality on older releases. ]
Yes on Linux:
matlab -nodesktop -nodisplay -r myscript.m
On Windows, that syntax can still be used to run batch scripts, but it still opens a minimal terminal window.
.
4 个评论
Tom Holz
2020-3-3
Thanks for the corrections. I'd always wondered if -nodisplay and -nodesktop were redundant.
I also like how you handle exceptions to guarantee that exit is called.
Walter Roberson
2020-3-3
There are a small number of exceptions that cannot be caught: out of memory, and infinite recursion (also, control-c). I do not know what would happen in a -r if one of those was encountered.
On Mac and Linux, one technique is to use < or | i/o redirection to send commands to to standard input, as matlab will continue to read commands from standard input after an exception. For example you could
(echo 'myscript'; echo 'quit') | matlab -nodisplay
If I recall correctly it is also possible to do something similar in Windows.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!