GNU/Linux >> Tutoriales Linux >  >> Linux

Canalización de stdout y stderr dentro de una regla Makefile

No explica por qué los enfoques sencillos no funcionan, pero funciona:

[Makefile]
test: 
    python test.py >test.out 2>&1; pyrg <test.out

Me topé con esta pregunta con el mismo problema y no estaba satisfecho con la respuesta. Tenía un TLBN binario que falló en el caso de prueba example2.TLBN .

Esto es lo que miró mi archivo make al principio.

make:
     ./TLBN example2.TLBN > ex2_output.txt

Lo cual falló con el mensaje de error que esperaba y detuvo el proceso de creación.

Esta es mi solución:

make:
    -./TLBN example2.TLBN > ex2_output.txt 2>&1

Tenga en cuenta el - al comienzo de la línea que le dice a make que ignore cualquier salida a stderr.

Espero que esto ayude a alguien que tenga un problema similar.


Extrañamente, tuve el mismo problema y lo resolví así:

check-errors:
    check-for-errors.sh &> errors.txt

No estoy muy seguro de por qué 2>&1 >errors.txt no funcionó aquí, pero &> hizo


Linux
  1. Cómo instalar y probar Ansible en Linux

  2. ¿Configurar el Shell para imprimir Stderr y Stdout en diferentes colores?

  3. ¿Cómo redirigir Stderr y Stdout a diferentes archivos y también mostrarlos en la terminal?

  4. ¿Diferencia entre tubería y expansión de comando?

  5. ¿Mostrar solo Stderr en pantalla pero escribir tanto Stdout como Stderr en el archivo?

Cómo redirigir stderr a stdout en Bash

¿Es posible hacer que las salidas stdout y stderr sean de diferentes colores en XTerm o Konsole?

¿Confundido acerca de stdin, stdout y stderr?

Eco para stdout y stderr

Restaurar stdout y stderr al valor predeterminado

¿Es posible que el descriptor de archivo de Linux 0 1 2 no sea para stdin, stdout y stderr?