在我通过另一个成功的命令管道之后,如何从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其他方法.