unix - 如果模式匹配失败,如何让 unix grep 命令中止
问题描述
我在一个脚本中有多个 unix 命令。如果匹配,“cat file.txt | grep pattern”将依次执行下一个命令。否则,如果不匹配,该命令应该中止。任何实现此目的的单行命令都会有所帮助。
解决方案
如果您使用的是 bash 或 sh,则可以errexit
像这样设置选项:set -o errexit
如果你这样做了,那么这一行(和任何其他行)如果失败将中止你的脚本:
grep pattern file.txt
或者,您可以简单地使用||
这样的:
grep pattern file.txt || exit 1
或者,更详细地说,使用if
:
if ! grep pattern file.txt; then
exit 1
fi
推荐阅读
- python - seaborn 中的一半(不分裂!)小提琴情节
- r - 在R中将一个数字和每个连续的答案相除x次
- javascript - JS 没有在 Gatsby 上运行
- tomahawk - 下载 Apache Tomahawk 1.1.6
- python - 无法在 Azure Jupyter Notebook(Python 2 和 3)中读取“.parquet”文件
- javascript - 将 HTML Canvas 动画导出为 VIDEO
- python - 在 Numba nopython 函数中将 int32/float32 视为字节
- javascript - 更改时刻时区不反映到 .toDate()
- tensorflow - 事件状态轮询错误:查询事件失败:CUDA_ERROR_LAUNCH_TIMEOUT
- sql-server - 使用两个 SQL Server 实例