MatlabR2020A从终端运行.m脚本
我想从终端执行一个matlab脚本 虽然有很多问题(例如:或)和答案,但我仍然找不到一个解决方案如何让它工作 我目前与一个MatlabR2020A从终端运行.m脚本,matlab,Matlab,我想从终端执行一个matlab脚本 虽然有很多问题(例如:或)和答案,但我仍然找不到一个解决方案如何让它工作 我目前与一个test.m脚本位于同一目录中,根据在互联网上找到的答案,我尝试使用以下方法启动matlab: matlab -nodesktop -nodisplay -nosplash -r test 从matlab来看,我认为正确的方法是使用-batch标志 matlab -batch "test" 但这也不起作用 我还尝试了几种选择: matlab -node
test.m
脚本位于同一目录中,根据在互联网上找到的答案,我尝试使用以下方法启动matlab:
matlab -nodesktop -nodisplay -nosplash -r test
从matlab来看,我认为正确的方法是使用-batch标志
matlab -batch "test"
但这也不起作用
我还尝试了几种选择:
matlab -nodesktop -nodisplay -nosplash -r "test"
matlab -nodesktop -nodisplay -nosplash -r "test.m"
matlab -nodesktop -nodisplay -nosplash -batch "test.m"
matlab -nodesktop -nodisplay -nosplash -r "run('test')"
matlab -nodesktop -nodisplay -nosplash -r "run('test.m')"
matlab -nodesktop -nodisplay -nosplash -r "run('/absolut/path/test')"
但是,我始终会收到以下错误消息:
< M A T L A B (R) >
Copyright 1984-2020 The MathWorks, Inc.
R2020a Update 3 (9.8.0.1396136) 64-bit (glnxa64)
May 27, 2020
To get started, type doc.
For product information, visit www.mathworks.com.
Warning: Command line argument -r cannot be combined with subsequent -r
argument.
在windows上工作。您收到的错误消息表明,不知何故,您最终得到了两个
-r
规范,就好像您调用了matlab-r test-r test
。您确定没有matlab
的别名或类似名称吗
在任何情况下,根据,不再建议使用-r
,您应该使用-batch
,并且参数必须是语句,而不是文件路径。所以,你应该使用
-sd
参数设置MATLAB的起始目录,以便它可以找到“test.m”。有了-batch
,就意味着-nodesktop
、-nodisplay
和-nosplash
。出现的错误消息表明,不知何故,您最终得到了两个-r
规范,就好像您调用了matlab-r test-r test
。您确定没有matlab
的别名或类似名称吗
在任何情况下,根据,不再建议使用-r
,您应该使用-batch
,并且参数必须是语句,而不是文件路径。所以,你应该使用
-sd
参数设置MATLAB的起始目录,以便它可以找到“test.m”。有了-batch
,就意味着-nodesktop
、-nodisplay
和-nosplash
。如果我输入'type matlab',输出是'matlab is bashsed(/usr/bin/matlab'),因此,我认为没有别名。我今天在windows上测试了它,并且matlab-batch test
在那里工作。但到目前为止,Linux上没有运气。真奇怪。我发布的语法肯定是正确的,如果我使用-r
两次,你得到的错误肯定会发生在我身上,所以某个地方出了问题。你在Linux上测试它吗?(Ubuntu18.04和R2020a)?是的,我刚刚用Debian10检查了R2020a。我只是在运行R2019a的另一台计算机上用同样的问题试过matlab-batch pwd在那里也不起作用-也许这与我们的it如何安装matlab有关?但是如果我输入'typematlab',输出是'matlabisbashsed(/usr/bin/matlab'),那么我不认为有别名。我今天在windows上测试了它,并且matlab-batch test
在那里工作。但到目前为止,Linux上没有运气。真奇怪。我发布的语法肯定是正确的,如果我使用-r
两次,你得到的错误肯定会发生在我身上,所以某个地方出了问题。你在Linux上测试它吗?(Ubuntu18.04和R2020a)?是的,我刚刚用Debian10检查了R2020a。我只是在运行R2019a的另一台计算机上用同样的问题试过matlab-batch pwd在那里也不起作用-也许这与我们的it如何安装matlab有关?但我不支持Linux,请尝试哪个matlab
,看看它是您(您的it部门?)为在启动时运行某些命令而创建的别名还是脚本。这将是您看到所看到内容的唯一方法。哪个matlab
返回/usr/bin/matlab
Ok。你用文本编辑器打开了那个文件吗?它是否将-r
参数添加到可执行文件中?就是这样。我没有意识到这只是一个文本文件。他们在那里加了一个-r旗子。现在,您可以看到如何绕过此脚本调用“真实”的MATLAB程序。在Linux上,请尝试哪个MATLAB
,并查看它是您(it部门?)为在启动时运行某些命令而创建的别名还是脚本。这将是您看到所看到内容的唯一方法。哪个matlab
返回/usr/bin/matlab
Ok。你用文本编辑器打开了那个文件吗?它是否将-r
参数添加到可执行文件中?就是这样。我没有意识到这只是一个文本文件。他们在那里加了一个-r旗子。现在您可以看到如何调用“真实”的MATLAB程序,绕过此脚本。
matlab -nodisplay < test.m
matlab -batch test
matlab -sd /absolut/path -batch test