Este script no hace eco "después":
#!/bin/bash -e
echo "before"
echo "anything" | grep e # it would if I searched for 'y' instead
echo "after"
exit
También lo haría si eliminara la -e
opción en la línea shebang, pero deseo mantenerla para que mi script se detenga si hay un error. No considero que grep no encuentre coincidencias como un error. ¿Cómo puedo evitar que salga tan abruptamente?
var=$(complex command | grep complex_pattern)
cual puede ser nulo (en cuyo caso mi programa no debería finalizar). Esto es solo un script resumido que hace que ocurra el problema. No hay un agujero negro metafísico en la lógica aquí, ¿verdad? ;)
-e
presuponer que te importa: tanto, que cualquier problema es catastrófico.