如果模式匹配失败,如何让unix grep命令中止

如果模式匹配失败,如何让unix grep命令中止,unix,grep,Unix,Grep,我在一个脚本中有多个unix命令。如果匹配,“cat file.txt | grep模式”将按顺序进入下一个命令。否则,如果不匹配,则命令应中止。任何单行命令都会有帮助。将grep命令放入if-else循环,如果字符串不匹配,请使用exit 0命令。如果使用bash或sh,可以设置选项errexit如下:设置-o errexit 如果您这样做,那么这一行(以及任何其他行)将在脚本失败时中止脚本: grep pattern file.txt 或者,您可以简单地使用|,如下所示: grep pat

我在一个脚本中有多个unix命令。如果匹配,“cat file.txt | grep模式”将按顺序进入下一个命令。否则,如果不匹配,则命令应中止。任何单行命令都会有帮助。

将grep命令放入if-else循环,如果字符串不匹配,请使用exit 0命令。

如果使用bash或sh,可以设置选项
errexit
如下:
设置-o errexit

如果您这样做,那么这一行(以及任何其他行)将在脚本失败时中止脚本:

grep pattern file.txt
或者,您可以简单地使用
|
,如下所示:

grep pattern file.txt || exit 1
或者,更详细地说,如果,则使用

if ! grep pattern file.txt; then
    exit 1
fi
可以写成

grep pattern file.txt
使用
&

grep pattern file.txt && 
   echo "I am the next line"
或者带着

grep pattern file.txt || { echo "Grep found nothing"; exit 1; }
请阅读并试着制作一份报告。
grep pattern file.txt || { echo "Grep found nothing"; exit 1; }