首页 > 解决方案 > 如何将带有 if 检查的 curl 结果附加到文件中?

问题描述

具有以下内容:

curl URL | grep -i "KEYWORD" && "keyword found" || echo "keyword not found" >> result.txt

如何将结果放入文件中?似乎无论是否创建文件,这都不起作用。

客观的:

在 curl 结果中搜索关键字,如果找到附加到文件“找到”,否则附加“未找到”。

编辑:

我想到了:

curl URL | grep -i "keyword" && echo "found $(date)" >> result || echo "not found $(date)" >> result

标签: bash

解决方案


您可以重定向整个if命令的输出:

if curl URL | grep -i 'KEYWORD'; then echo "keyword found"; else echo "keyword not found"; fi >> result.txt

如果它不是单个命令,则可以将组括在{ ;}

{ command1; command2; command3; } >> result.txt

注意cmd1 && cmd2 || cmd3产生意想不到的结果。特别是,如果cmd1成功但cmd2失败,cmd3也会运行。if/fi更不容易出错。


推荐阅读