bash - only - equivalente de pipefail en el shell de guión
only human readable file (1)
¿Hay alguna opción similar en el shell de guión correspondiente a pipefail en bash?
O cualquier otra forma de obtener un estado distinto de cero si falla uno de los comandos en la tubería (pero no sale de él como lo haría set -e).
Para hacerlo más claro, aquí hay un ejemplo de lo que quiero lograr:
En un makefile de depuración de muestra, mi regla se ve así:
set -o pipefail; gcc -Wall $$f.c -o $$f 2>&1 | tee err; if [ $$? -ne 0 ]; then vim -o $$f.c err; ./$$f; fi;
Básicamente, se ejecuta abre el archivo de error y el archivo de origen en caso de error y ejecuta los programas cuando no hay ningún error. Me ahorra algo de mecanografía. El fragmento anterior funciona bien en bash, pero mi nuevo sistema Ubunty usa un guión que no parece ser compatible con la opción pipefail.
Básicamente quiero un estado de FALLO si falla la primera parte del siguiente grupo de comandos:
gcc -Wall $$f.c -o $$f 2>&1 | tee err
para que pueda usar eso para la declaración IF.
¿Hay alguna forma alternativa de lograrlo?
¡Gracias!
La respuesta de "stock" para las implementaciones POSIX de PIPESTATUS / pipefail se encuentra en comp.unix.shell Preguntas frecuentes P11