1
set -e和grep惯用法防止未找到模式时从shell脚本过早退出
需要帮助-在GNU / LINUX bash上的shell脚本中: 我总是用set -e。通常,grep如果grep退出状态1表明未找到模式,我通常不希望脚本终止执行。 我尝试解决此问题的方法如下: (尝试I) 如果set +o pipefail使用类似的方法调用grep,grep 'p' | wc -l那么我将获得所需的行为,直到将来的维护者启用为止pipefail。另外,我喜欢启用,pipefail因此这对我不起作用。 (尝试II) 使用sed或awk仅打印匹配模式的行,然后使用wc匹配行测试匹配的模式。我不喜欢这样的选择,因为使用sed到grep似乎是我的真实问题的方法。 (尝试III) 这是我最不喜欢的-类似于:set +e; grep 'p'; set-e 任何见解/习惯用语将不胜感激-谢谢。