MatlabR2020A从终端运行.m脚本

MatlabR2020A从终端运行.m脚本,matlab,Matlab,我想从终端执行一个matlab脚本 虽然有很多问题(例如:或)和答案,但我仍然找不到一个解决方案如何让它工作 我目前与一个test.m脚本位于同一目录中,根据在互联网上找到的答案,我尝试使用以下方法启动matlab: matlab -nodesktop -nodisplay -nosplash -r test 从matlab来看,我认为正确的方法是使用-batch标志 matlab -batch "test" 但这也不起作用 我还尝试了几种选择: matlab -node

我想从终端执行一个matlab脚本

虽然有很多问题(例如:或)和答案,但我仍然找不到一个解决方案如何让它工作

我目前与一个
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