Ten skrypt nie echa „po”:
#!/bin/bash -e
echo "before"
echo "anything" | grep e # it would if I searched for 'y' instead
echo "after"
exit
Byłoby tak również, gdybym usunął -e
opcję z linii shebang, ale chcę ją zachować, aby mój skrypt zatrzymał się w przypadku wystąpienia błędu. Nie uważam, że grep nie znalazł dopasowania jako błędu. Jak mogę zapobiec tak nagłemu opuszczeniu?
var=$(complex command | grep complex_pattern)
która może być zerowa (w takim przypadku mój program nie powinien się zakończyć). Jest to po prostu spreparowany skrypt, który powoduje występowanie problemu. Nie ma tutaj metafizycznej czarnej dziury, prawda? ;)
-e
zakładasz, że troszczysz się o to: tak bardzo, że każdy problem jest katastrofalny.