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 obtenerwget
l código de salida de @ a través detee
y subshell?
Si pudiera ser útil, mi versión bash es4.2.20
.