Ce script ne fait pas écho "après":
#!/bin/bash -e
echo "before"
echo "anything" | grep e # it would if I searched for 'y' instead
echo "after"
exit
Il en serait de même si je supprimais l' -e
option sur la ligne shebang, mais je souhaite la conserver pour que mon script s'arrête en cas d'erreur. Je ne considère pas que grep ne trouve aucune correspondance comme une erreur. Comment puis-je l'empêcher de sortir si brusquement?
var=$(complex command | grep complex_pattern)
qui peut être nul (auquel cas mon programme ne devrait pas se terminer). Il s'agit simplement d'un script réduit qui fait que le problème se produit. Pas de trou noir métaphysique dans la logique ici, non? ;)
-e
vous vous en souciez: à tel point que tout problème est catastrophique.