不幸的是,aflab,Matlab只能在没有GUI的Linux上启动(也许在Mac OS X上也是如此?)。
~$ cat /tmp/stackoverflow.m
s='stackoverflow';
length(s)
~$ ./R2013a/bin/matlab -nodisplay -nojvm -nodesktop -nosplash -r "run /tmp/stackoverflow.m, exit"
< M A T L A B (R) >
Copyright 1984-2013 The MathWorks, Inc.
R2013a (8.1.0.604) 64-bit (glnxa64)
February 15, 2013
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
ans =
13
~$
然而,Matlab本身无法在Bash脚本中使用Shebang #!。所以它始终是一种解决方法。
一个更好的解决方案可能是连续运行你的Matlab实例并编写一个守护进程/脚本,这将运行你.m脚本是时间相关的。例如。
更好的方法是使用Matlab Coder工具箱(如果有的话)并从.m文件中编译独立的二进制文件。这个二进制文件应该可以在Windows上使用任务计划轻松运行。