【发布时间】:2021-10-07 10:46:34
【问题描述】:
inter.pl的代码是:
use strict;
use warnings;
my $var1=`cat /gra/def/ment/ckfile.txt`; #ckfile.txt doesn't exist
print "Hello World";
exit 0;
当我执行 inter.pl ( perl inter.pl) 并检查退出状态时,我看到它为 0。我知道它显示为 0 的原因,因为它是一个在孩子中执行它的反引号xterm 然后在执行后返回。因此,在子 xterm 中会看到不等于 0 的退出状态。
但是,我想要的是,当脚本中的任何地方出现任何问题时,无论是在系统命令或反引号内执行的脚本中还是在主脚本中,它应该退出那里,然后退出状态不等于0.
就像这里一样,因为 ckfile.txt 不存在,所以 `cat /gra/def/ment/ckfile.txt` 会给出一些错误。现在,由于它是脚本中的错误命令,脚本应该以 status != 0 退出。(目前,它以 status == 0 退出。)
如何实现?
【问题讨论】: