Pipe grep code de saída

6

Quando preciso suprimir algum tipo de saída, por exemplo

foo | grep -v bar

Mas foo às vezes só:

bar
bar
bar...

grep retornará -1. Como faço para transformar o código de saída 1 para 0?

    
por math 20.07.2010 / 17:49

2 respostas

8

Você sempre pode tentar fazer um pipe através de outra coisa, como cat , para se livrar do código de saída do grep - embora isso possa ser um golpe maior do que você deseja.

    
por 20.07.2010 / 17:55
0

Pelo menos no bash, você pode usar

foo || (EC=$?; if [ $EC -ne 1 ]; then exit $EC; fi)

Isso altera o código de saída 1 para 0 e não altera mais nada.

(Talvez não seja compatível com POSIX, mas provavelmente existe uma versão compatível com POSIX.)

    
por 09.03.2017 / 10:54

Tags