我试图从命令行运行MATLAB脚本,并且在让MATLAB返回结果到stdout方面遇到了问题。
当运行下面的命令时,MATLAB会打印许可证广告并退出而不打印消息。
matlab -nodisplay -nojvm -r "fprintf(1, 'value: %f\n', 2.0); quit;"
*备注:我目前正在运行版本7.10.0.499(R2010a)64位(maci64)。
我试图从命令行运行MATLAB脚本,并且在让MATLAB返回结果到stdout方面遇到了问题。
当运行下面的命令时,MATLAB会打印许可证广告并退出而不打印消息。
matlab -nodisplay -nojvm -r "fprintf(1, 'value: %f\n', 2.0); quit;"
*备注:我目前正在运行版本7.10.0.499(R2010a)64位(maci64)。
-logfile
选项将所有输出复制到文件中。matlab -nodisplay -nojvm -logfile out.txt -r "fprintf(1, 'value: %f\n', 2.0); quit;"
-wait
命令行选项来阻塞脚本的执行直到 MATLAB 关闭。sleep 5s
来睡眠 5 秒钟,或者使用 wait
命令来暂停执行直到进程完成。#!/bin/sh
matlab -nodisplay -logfile out.txt -r "rand(3), quit"
wait $(ps | grep matlab | awk '{print $2}') && cat out.txt