我想使用perl脚本弹出警告框。我正在使用exit 0
成功终止shell脚本,并exit 1
在发生错误时终止shell脚本。我想在perl脚本中捕获此退出代码。根据值0或1,我想分别弹出一个包含成功或失败消息的警告框。
答案 0 :(得分:8)
您可以使用子错误变量$?
检查其他进程的退出代码。例如:
system("perl foo.pl");
my $exit_val = $? >> 8; # now contains the exit value of the perl script
阅读documentation了解详情。
答案 1 :(得分:6)
如果退出0: - shell脚本返回0到perl脚本$?变量
但是对于退出1的情况:-it返回256因此需要移位8 所以试试这个:
#!/usr/bin/perl
print "pelr";
system("./shell.sh");
$p=$?>>8;
print $p;
注意 - 在shell脚本中只需输出0并运行然后退出1.并查看o / p
请注意,在perl中使用system时,它返回退出代码乘以256.因此,如果命令返回1,则system(“command”)将返回256.因此,要获得实际返回值,除以由256。