bash variable captura stderr y stdout por separado u obtiene el valor de salida [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Capture stdout y stderr en diferentes variables 13 respuestas

Necesito capturar la salida y el error de un comando en mi script bash y saber si el comando tuvo éxito o no.

En este momento, estoy capturando ambas cosas así:

output=$(mycommand 2>&1)

Luego necesito verificar el valor de salida de mycommand. Si falló, necesito hacer algunas cosas con la salida, si el comando tuvo éxito, no necesito tocar la salida.

Desde que estoy capturando la salida, comprobando $? siempre es un 0 ya que bash logró capturar la salida en la variable.

Este es un script muy sensible al tiempo, por lo que estamos tratando de evitar soluciones más lentas, como la salida a un archivo y volver a leerlo.

Si pudiera capturar stdout para una variable y stderr para otra, eso resolvería mi problema porque podría verificar si la variable de error estaba vacía o no.

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta