我想通过linux shell脚本运行MATLAB代码。
所以我试过
#! /usr/bin/tcsh
setenv USER mcevoyd
setenv LOGNAME mcevoyd
setenv HOME /home/mcevoyd
setenv PATH /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
setenv LANG en_US.UTF-8
matlab -nodisplay -nodesktop -r "scriptFile.m"
但它没有用。
我将上面的shell脚本保存为shell.sh
,然后使用chmod 755 shell.sh
在终端上运行。
答案 0 :(得分:3)
将您的matlab
电话改为:
matlab -nodisplay -nodesktop -r scriptFile
当.m
标记后面的语句是文件名时,请勿包含""
扩展名或引号(-r
)(有关详细信息,请参阅documentation在此)。
请注意,这将启动MATLAB并运行文件scriptFile.m
,就像打开MATLAB一样,然后在命令提示符下键入scriptFile
。在退出之前,您将保留在MATLAB环境中。
如果要在MATLAB环境之外运行MATLAB脚本,则需要使用mcc compiler进行编译。
<强> P.S。强>
我假设您在帖子中更改了脚本文件的权限,使其可以通过调用chmod 755 shell.sh
执行,但实际上您使用符号运行脚本: ./shell.sh
。否则,这将是您的脚本根本无法运行的早期原因,而不是启动但无法按您的意愿运行。