我正在使用 bash 脚本调用 MATLAB 函数
matlab -nodesktop -nosplash -nodisplay -r "matlabfunction input1 input2; quit"
我试图从 matlab 函数获取一位数的返回值,这样我就可以根据该返回值继续执行其他例程。
答案1
您可以使用quit
或退出 matlab exit
。它们基本上是相同的,只是exit
您可以指定退出代码。如果您愿意滥用退出代码,那么您可以执行类似的操作
matlab -nodesktop -nosplash -nodisplay -r "exit(times(2, 7));" > /dev/null; echo $?
如果您打算这样做,请意识到 bash 可能会对非零退出代码感到不安,并且您可能需要一些错误处理来确保您的函数返回 exit 可以处理的错误代码。
另一种选择是捕获 matlab 的输出,然后解析你想要的内容
matlab -nodesktop -nosplash -nodisplay -r "format compact; Answer=times(2, 7), exit" | sed -ne '/Answer =/{n;p}' | sed -e 's/ *//g'