Obtendo código de erro do primeiro comando no pipe em cinza

2

Eu uso wget para fazer o download de um arquivo grande para dois FIFOs assim:

wget <wget-args> -O - | tee -a "$fifo1" >> "$fifo2"

Eu quero recuperar o código de erro de wget na falha.

set -o pipefail retorna código de erro do comando mais à direita em um canal, então não posso ter certeza de que o código de erro vem de wget .

Então, como posso fazer isso em cinzas?

    
por K. Koovalsky 12.07.2018 / 13:13

1 resposta

2

Apenas redirecione o código de retorno do wget para um arquivo, aqui $? contém o código de retorno

$ (wget <wget-args> -O - ; echo $? > result) | tee -a "$fifo1" >> "$fifo2"

Aqui, o resultado do arquivo conterá o código de status da sua operação

$ cat result
  0
    
por 12.07.2018 / 14:43