如何阻止MATLAB返回到命令行脚本完成后?
问题描述:
我在MATLAB帮助(matlab -h
)中看到,我可以使用-r
标志来指定要运行的m
文件。我注意到当我这样做时,MATLAB似乎启动了脚本,但立即返回。脚本处理正常,但主应用程序已经返回。如何阻止MATLAB返回到命令行脚本完成后?
有没有什么办法可以让MATLAB在命令完成后才返回?如果你从一个单独的程序调用它,似乎更容易等待进程而不是使用文件或套接字来确认完成。
为了说明这一点,这里有一个样本函数waitHello.m
:
function waitHello
disp('Waiting...');
pause(3); %pauses 3 seconds
disp('Hello World');
quit;
我尝试使用运行此:
matlab -nosplash -nodesktop -r waitHello
答
快速回答:
matlab -wait -nosplash -nodesktop -r waitHello
在Matlab的7.1(该版本我有)有一个未公开的命令行选项-wait在matlab.bat。如果它不适合你的版本,你可以添加它。这是我发现的。在底部终于推出MATLAB的命令是(行153):(输入cmd.exe请参阅“帮助启动”)在这种情况下
start "MATLAB" %START_WAIT% "%MATLAB_BIN_DIR%\%MATLAB_ARCH%\matlab" %MATLAB_ARGS%
启动命令的相关语法:
start ["window title"] [/wait] myprogram.exe args ...
高一点,在所有的记录命令行选项,我发现(60行):
) else if (%opt%) == (-wait) (
set START_WAIT=/wait
) else (
所以指定 - 等待应该做你想要什么,只要你还从离开你的MATLAB脚本(否则它会wa它会让你以交互方式终止它)。
这个选项在linux上不存在,你知道我怎么能实现这个吗? – Snickers3192 2015-09-10 15:39:30