bash - 如何从 bash 脚本中获取 perl 退出值
问题描述
我正在尝试通过 bash 运行 perl 脚本,并获取 perl 的退出值。
perl_script.pl
print "test1";
sub a{
my @array = ("a","b");
if ($#array ne -1){
return 1;
}
else {return 0;}
}
my $result=a(arg1,arg2);
exit $result;
bash.sh
VARIABLE_1=$("perl_script.pl" arg1 arg2)
RESULT=$?
“$?” 无论退出值是什么,变量都保持返回 0。你知道另一种从 bash 中检索 perl 退出值的方法吗?
提前致谢!
解决方案
bash$?
将设置为传递给exit
[1]的值。
$ perl -e'exit 3'
$ echo $?
3
$ perl -e'exit 4'
$ echo $?
4
$ perl perl_script.pl
test1
$ echo $?
1
- 如果程序死于异常,退出代码将设置为非零值。如果程序既没有终止也没有调用
exit
,退出代码将设置为零。
推荐阅读
- javascript - Flatpickr + SweetAlert2 = 键盘可访问性问题
- python - 使用熊猫在数据框中添加一个空行:标准最佳性能
- html - 如何通过 nunjucks 将 JSON 表放入 HTML 表中?
- swift - 当按下按钮并切换 Bool var 时,我的所有 Bool vars 切换?
- java - 有没有办法从物理手机(外部和内部存储)读取 mp3 文件。我已经尝试过了,但我没有得到它
- linux - 将 movflags 添加到 mp4 文件的顶部,而不使用 ffmpeg 进行实时 RTSP 流
- excel - 电话号码的多种布局需要自定义格式
- php - 从 Google App Engine 中的 app.yaml 文件中检索环境变量
- apache-spark - 如何在 AWS 胶水中的多个工作人员上运行 pySpark 代码
- c - 没有任何内容被写入 outfile