我想让Perl脚本运行一些Matlab代码,然后等待,然后在Linux中运行另一个Matlab代码。如果Matlab代码失败,那么它应该给出错误消息。即使Matlab代码1或2有错误,下面的Perl脚本也会运行。当Matlab代码失败时,如何使Perl脚本停止并给出错误消息?
print("run Matlab code 1!\n");
`matlab -nodisplay -r myfile1`;
print("run Matlab code 2!\n");
`matlab -nodisplay -r myfile2`;
print("End!\n");
答案 0 :(得分:1)
首先,存储您正在运行的命令的返回码:
my $returnCode = system("matlab -nodisplay -r myfile1");
然后,在进入下一步之前,请确保返回代码为0(或者在您的情况下表示成功的任何内容):
if ($returnCode != 0) {
die "Command did not finish successfully.";
}
确定什么是有效的返回代码并告诉脚本在任何其他情况下死亡。