Obtenga el código de salida del subshell a través de las tuberías

¿Cómo puedo obtener el código de salida dewget del proceso de subshell?

Entonces, el principal problema es que$? es igual a 0. ¿Dónde puede$?=8 ¿fundarse

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "$?"
0
gt; OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "$?" 0

Funciona sintee, Realmente

$> OUT=$( wget -q "http://budueba.com/net" ); echo "$?"
8
gt; OUT=$( wget -q "http://budueba.com/net" ); echo "$?" 8

Pero${PIPESTATUS} array (no estoy seguro de que esté relacionado con ese caso) tampoco contiene ese valor.

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[1]}"    

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[0]}"
0

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[-1]}"
0
gt; OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[1]}"
$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[1]}"    

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[0]}"
0

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[-1]}"
0
gt; OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[0]}" 0
$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[1]}"    

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[0]}"
0

$> OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[-1]}"
0
gt; OUT=$( wget -q "http://budueba.com/net" | tee -a "file.txt" ); echo "${PIPESTATUS[-1]}" 0

Entonces, mi pregunta es: ¿cómo puedo obtenerwgetl código de salida de @ a través detee y subshell?

Si pudiera ser útil, mi versión bash es4.2.20.

Respuestas a la pregunta(6)

Su respuesta a la pregunta