【发布时间】:2012-02-08 15:25:27
【问题描述】:
在通过另一个成功的命令通过管道传输后,如何从 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
有谁知道如何做到这一点?
【问题讨论】:
-
$?保存错误代码。您可以将其保存在变量中。 -
我需要保存中间命令的返回码,而不是最后一个命令。