我在一个脚本中有多个Unix命令。如果匹配,则“ cat file.txt | grep模式”将顺序执行下一个命令。否则,该命令应中止。任何单行命令都可以达到目的。
答案 0 :(得分:1)
如果您使用的是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
答案 1 :(得分:0)
将grep命令放入if else循环中,如果字符串不匹配,请使用exit 0命令。
答案 2 :(得分:0)
cat file.txt | grep pattern
可以写为
grep pattern file.txt
如果失败,您可以使用&&
跳过下一行
grep pattern file.txt &&
echo "I am the next line"
或退出
grep pattern file.txt || { echo "Grep found nothing"; exit 1; }