每次调用system
时,MATLAB都会打开一个新会话。
我希望能够保持会话打开并执行几次调用。
理想情况下,这可行:
system('export DUMMY=2');
[~, out] = system('echo $DUMMY');
disp(out)
但它并不是因为每个system
电话是分开的。我如何解决这个问题并保持一个会话运行?
上面的代码可以使用setenv
修复,将第一行替换为setenv('DUMMY', '2');
,但我正在寻找更通用的解决方案。
答案 0 :(得分:1)
这些方面的某些内容是否适合您?
C:\Users\...>SET "foo=bar" & ECHO %foo%
bar
Windows批处理文件和命令提示符允许在一行上执行多个命令,并将它们与&
连接起来。使用Matlab的例子:
[~, out] = system('SET "foo=bar" & ECHO %foo%');
disp(out); % bar
或者,您可以创建一个.bat
文件,通过system
函数调用,其行为取决于您传递给它的参数(有关详细信息,请阅读this post)。 / p>