Necesito capturar la salida y el error de un comando en mi script bash y saber si el comando fue correcto o no.bash variable capture stderr y stdout por separado o obtenga el valor de salida
Por el momento, estoy capturando tanto como esto:
output=$(mycommand 2>&1)
entonces necesito para comprobar el valor de salida de mycommand. Si falla, necesito hacer algunas cosas con la salida, si el comando tuvo éxito, no necesito tocar la salida.
Dado que estoy capturando la salida, ¿comprobando $? siempre es un 0 ya que bash logró capturar el resultado en la variable.
Este es un momento mismo de la escritura sensible, por lo que estamos tratando de evitar cualquier soluciones más lentas como la salida a un archivo y volver a leerlo en.
Si pudiera capturar la salida estándar de una variable y stderr a otro, eso resolvería mi problema porque podría simplemente verificar si la variable de error estaba vacía o no.
Gracias.
Ver [BashFAQ/002] (http://mywiki.wooledge.org/BashFAQ/002) y [BashFAQ/047] (http://mywiki.wooledge.org/BashFAQ/047). –