我用下面的Perl代码运行了一个简单的文件测试:
my $f1 = "$pre_file";
unless (-e $1) {
print "\n Pre_check file does not exists! \n";
die;
}
它输出以下内容:
但是我不想要最后一行的“在./huawei-postcheck第81行终止。”。Pre_check文件不存在!
在./huawei-postcheck第81行终止。
我想让程序 “无错误信息” 终止。
这可能吗?
请参阅die文档。
如果LIST的最后一个元素没有以换行符结束,则还会打印当前脚本行号和输入行号(如果有),并提供换行符。
因此,您可以通过使用die "\n"
来使die工作而不打印任何内容。但是,考虑到您有错误消息,我看不出为什么您不使用它。
unless (-e $f1) {
die "\n Pre_check file does not exist!\n";
}
当然,区别在于消息现在将会被发送到标准错误流(STDERR),而不是标准输出流(STDOUT)。但这可能是它应该去的正确位置。
exit 1
来代替直接退出。die "\n";
抑制消息。
my $f1 = "$pre_file";
unless (-e $1) {
print "\n Pre_check file does not exists! \n";
exit 1;
}
die
实际上使用$! || $?>>8 || 255
。 - ikegami