因此,我在处理一个已经实现的项目时遇到了一个PERL脚本。由于它是保密的,我不能透露太多细节,但代码有点像这样:
if(defined($x)){
exit(0);
}
#...........
#.some other code.
#...........
if(!defined($y)){
print "ERROR !";
exit(1);
}
我假设出口(1(是在错误的情况下,出口(0(是在成功的情况下。但是,由于我们已经在打印错误消息,exit(0(和exit(1(之间有什么区别
生成程序的进程可以检查您返回的数字。CCD_ 1通常表示";无错误";(这是Perl脚本的默认退出状态(。其他值是特定于程序的。
例如,grep
带退出
0
,当它找到匹配项时1
,当未找到匹配项时2
,发生错误时
这样你就可以进行
if grep -q foo file; then
echo 'match'
else
echo 'no match (or error)'
fi
您可能应该使用die
而不是print
和exit
。0
0之外的die("$msgn")
大致相当于
print STDERR "$msgn";
exit( $! || ( $? >> 8 ) || 255 );
因此,它更简单,消息被打印到STDERR(而不是STDOUT(,并保证以非零代码(希望在调试时有意义的代码(退出。