加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 管道命令输出,但保留错误代码

发布时间:2020-12-15 18:43:19 所属栏目:安全 来源:网络整理
导读:在我通过另一个成功的命令管道之后,如何从unix命令行应用程序获取正确的返回码? 详情如下: $tar -cEvhf - -I ${sh_tar_inputlist} | gzip -5 -c ${sh_tar_file} -- when only the tar command fails $?=0$echo $?0 而且,我想看到的是: $tar -cEvhf - -I $
在我通过另一个成功的命令管道之后,如何从unix命令行应用程序获取正确的返回码?

详情如下:

$tar -cEvhf - -I ${sh_tar_inputlist} | gzip -5 -c > ${sh_tar_file}  --  when only the tar command fails $?=0
$echo $?
0

而且,我想看到的是:

$tar -cEvhf - -I ${sh_tar_inputlist} 2>${sh_tar_error_file} | gzip -5 -c > ${sh_tar_file}
$echo $?
1

有谁知道如何完成这个?

使用${PIPESTATUS [0]}获取管道中第一个命令的退出状态.

详情请参阅http://tldp.org/LDP/abs/html/internalvariables.html#PIPESTATUSREF

如果您的shell不支持$PIPESTATUS,请参阅http://cfajohnson.com/shell/cus-faq-2.html其他方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读