私は通常、wget
次のように2つの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