我通常wget
将一个大文件下载到两个 FIFO,如下所示:
wget <wget-args> -O - | tee -a "$fifo1" >> "$fifo2"
我想检索wget
失败时的错误代码。
set -o pipefail
返回管道中最右边命令的错误代码,因此我无法确定错误代码来自wget
.
那么我怎样才能在灰烬中做到这一点呢?
答案1
只需将 wget 的返回码重定向到一个文件,这里$?
包含返回码
$ (wget <wget-args> -O - ; echo $? > result) | tee -a "$fifo1" >> "$fifo2"
这里的文件结果将包含您的操作的状态代码
$ cat result
0