Este script não ecoa "depois":
#!/bin/bash -e
echo "before"
echo "anything" | grep e # it would if I searched for 'y' instead
echo "after"
exit
Também removeria a -e
opção na linha shebang, mas desejo mantê-la para que meu script pare se houver um erro. Não considero grep encontrar nenhuma correspondência como um erro. Como posso impedir que ele saia tão abruptamente?
var=$(complex command | grep complex_pattern)
que pode ser nulo (nesse caso, meu programa não deve terminar). Este é apenas um script resumido que faz com que o problema ocorra. Nenhum buraco negro metafísico na lógica aqui, certo? ;)
-e
pressupor que você se importe: tanto que qualquer problema é catastrófico.