需要帮助-在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
任何见解/习惯用语将不胜感激-谢谢。