在我看来,有两种方法可以在批处理模式下运行Matlab:
第一个:
unset DISPLAY
matlab > matlab.out 2>&1 << EOF
plot(1:10)
print file
exit
EOF
第二个使用选项“-r MATLAB_command”:
matlab -nojvm -nosplash -r MyCommand
这两个相同吗?
第一种方法中“&lt;&lt;&lt;&lt; EOF”和最后一次“EOF”是什么意思?
谢谢和问候!
答案 0 :(得分:6)
第一种方法只是redirects标准输出> matlab.out
和标准错误2>&1
到文件matlab.out
。
然后它使用heredoc方式将输入传递给MATLAB(这不是特定于MATLAB的,它是一种将多行作为输入传递给命令行程序的方法)。
语法为<<
后跟唯一标识符,然后是您的文本,最后是完成的唯一ID。
你可以在shell上试试这个:
cat << END
some
text
multiple lines
END
使用-r
选项的第二种方法启动MATLAB并执行立即传递的语句。它可能是一些命令或路径上找到的脚本或函数的名称。
它等同于:
python -c "print 'hello world'"
有关其他启动选项的列表,请参阅此page。