我在脚本中有多个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
将你的grep命令放在if else循环中,如果string不匹配则使用exit 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; }