【发布时间】:2023-02-23 04:14:54
【问题描述】:
这是示例 perl 代码。 abc.pl
my $a=0; my $b=0; my $c=0;
my $sum = $a+$b+$c; $ex = 0;
if($sum == 0){
print "success"; print " $ex \n";
}else{
$ec=1 ; print "Not success"; print " $ex \n";
}
exit $ex;
这是我的 shell 脚本
set ecd = `abc.pl`
set status = $?
echo $status
if ( $status == 0 ) then
echo "Here Status is $status"
else
echo "Status is $status"
endif
echo $status
现在我对 if else 循环有问题, status 的值似乎在 if 循环之前和之后发生变化,每次它只在 if 条件下打印 msg。 示例输出。
1
Here Status is 0
0
请帮助更正此问题。我认为如果反映上一个命令的状态?请建议如何使这个 if 循环正常工作。 请建议我如何在基础知识方面做得更好。非常感谢您的帮助。非常感谢。 这是问题的延续:[https://stackoverflow.com/questions/75523005/how-to-capture-exit-code-of-a-perl-script-which-is-called-from-a-shell-剧本][1]
【问题讨论】: