我想编写一个批处理文件,按顺序调用2个m文件。我希望第二个m文件(f.m
)不要在第一个m文件(main.m
)结束之前启动。第二个m文件重复4次(4个任务)。
我尝试使用等待选项,但不起作用。
#$ -S /bin/bash
#$ -l h_vmem=2G
#$ -l tmem=2G
#$ -cwd
#$ -j y
#$ -N example
#$ -t 1-4
echo "Task ID is $SGE_TASK_ID"
matlab -wait -nodisplay -nodesktop -nojvm -nosplash < main.m
matlab -nodisplay -nodesktop -nojvm -nosplash < f.m
我做错了什么?
答案 0 :(得分:1)
在将它们汇总到MATLAB之前,您可以将main.m
和f.m
的内容连接在一起
cat main.m f.m | matlab -nodisplay -nodesktop -nojvm -nosplash
或者您可以通过使用-r
标志
matlab -nodisplay -nodesktop -nojvm -nosplash -r 'main; f; exit'
这些都比你的方法更高效,因为在这里我们只启动了一个MATLAB实例。