首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SIGPIPE之后的潜在故障

SIGPIPE之后的潜在故障
EN

Unix & Linux用户
提问于 2020-02-16 21:31:41
回答 1查看 353关注 0票数 1

在CI服务器上运行bash脚本时,我将得到一个错误代码141,无法在本地复制。

经过一些搜索后,听起来错误141表示一个PIPEFAIL,我有一个

代码语言:javascript
复制
set -o pipefail

在剧本的顶端。

但是,我想知道导致管道失败的底层错误代码是什么。是否有方法提取失败命令的错误代码?或者,我是否需要重新构造脚本,以避免使用管道来获得这个结果?

EN

回答 1

Unix & Linux用户

发布于 2020-02-17 03:57:28

因为是bash,所以您可以考虑使用PIPESTATUS

代码语言:javascript
复制
command exit 1 | command exit 2 | command exit 3 | foobar; declare -p PIPESTATUS

在没有找到foobar的警告之后,您应该得到PIPESTATUS的值

代码语言:javascript
复制
 declare -a PIPESTATUS=([0]="1" [1]="2" [2]="3" [3]="127")
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/567946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档