Extraño resultado de iniciar una variable con la salida de 'git describe'

Extraño resultado de iniciar una variable con la salida de 'git describe'

Por alguna razón, esta tarea: OUT=$(git describe HEAD)imprime en la salida estándar (por ejemplo):fatal: No names found, cannot describe anything.

¿Es este un comportamiento normal? ¿Por qué no sucede esto con otros comandos?

Respuesta1

En realidad, eso es stderrresultado, no stdout. Cuando se ejecuta un comando desde una terminal interactiva, ambos stdouty stderrestán configurados para ir a la terminal.

Si desea la stderrsalida en su variable (lo cual probablemente no desea, pero de todos modos), rediríjala de stdoutesta manera:

OUT=$(git describe HEAD 2>&1)

O si no desea que la persona que ejecuta su secuencia de comandos vea ese stderrresultado, deséchelo de esta manera:

OUT=$(git describe HEAD 2>/dev/null)

información relacionada