2 votes

Obtenir le code de sortie lors de la mise en place de grep -v

J'ai un script comme ceci :

#!/bin/sh

echo "hello"
echo "goodbye"
exit 1

Lorsque je l'exécute seul, j'obtiens comme prévu le code de sortie d'échec.

$ ./fail.sh
hello
goodbye
$ echo $?
1

Cependant, lorsque je l'exécute par grep -v le statut de la sortie devient un succès :

$ ./fail.sh | grep -v hello
goodbye
$ echo $?
0

Existe-t-il un moyen d'acheminer la sortie d'une commande dans le fichier grep -v et que le code d'état soit toujours propagé correctement ? Bien sûr, dans le monde réel, l'objectif serait de filtrer la sortie d'une commande bruyante, tout en détectant si la commande a échoué.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X