【发布时间】:2014-04-01 12:49:09
【问题描述】:
我的脚本末尾有这个 sn-p:
use List::Util qw(min max);
// more stuff..
my $maxReturnCode = max @retCodes;
print "Highest Error Code: $maxReturnCode\n";
exit($maxReturnCode >>8) unless $maxReturnCode == 0;
exit(0);
我在线程编译期间添加错误代码:
my $cmd = "$MAKE $MAKE_INVOCATION_PATH/$comp";
my $retCode = system($cmd);
push(@retCodes, $retCode);
但是,当我在最后打印最高错误代码时,它只是空白:
01-Apr-2014 06:03:25 Ended At: 06:03 AM
01-Apr-2014 06:03:25
01-Apr-2014 06:03:25 Highest Error Code:
我是不是转换错了?
【问题讨论】:
-
如果被信号杀死了怎么办?这将导致
exit(0)(成功),即使它不是。sh做了类似($? & 0x7F) ? (($? & 0x7F) | 0x80) : ($? >> 8)的事情。