0

我想让 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");
4

1 回答 1

1

首先,存储您正在运行的命令的返回码:

my $returnCode = system("matlab -nodisplay -r myfile1");

然后,在您进行下一步之前,请确保返回码为 0(或在您的情况下表明成功的任何内容):

if ($returnCode != 0) {
    die "Command did not finish successfully.";
}

只需确定什么是有效的返回码并告诉脚本在任何其他情况下都死掉。

于 2012-08-14T01:47:08.573 回答