该脚本不回显“ after”:
#!/bin/bash -e
echo "before"
echo "anything" | grep e # it would if I searched for 'y' instead
echo "after"
exit
如果我删除了-e
shebang行上的选项,也可以,但是我希望保留它,以便在出现错误时脚本停止。我不认为grep发现没有匹配项是错误。如何防止它过分退出?
var=$(complex command | grep complex_pattern)
可能为null(在这种情况下,我的程序不应终止)。这只是使问题发生的精简脚本。这里的逻辑中没有形而上学的黑洞,对吗?;)
-e
是您必须在意的前提:如此之多,以至于任何问题都是灾难性的。