调整脚本以grep输出curl

时间:2019-04-12 11:36:53

标签: curl grep

我正在设置一项检查,以查找从CURL语句生成的XML文件中的几个单词,如果找不到这些单词,则会发出警报。

curl -m 10 --header "Content-Type: text/xml;charset=UTF-8"  --data @payload.xml http://test.abc.com/services/Games  2>&1 | grep -iwn 'Game1\|Game2\|Game3'

由于 CURL 的输出是XML格式,因此我使用stdout并使用grep在该XML中找到3种不同的游戏。这是按原样打印XML并突出显示游戏,为了提醒我,我想做的是,如果curl输出中都找不到这些游戏,则需要发送通知。

任何帮助将不胜感激。

谢谢, K

1 个答案:

答案 0 :(得分:0)

使用命令返回码:

$ echo aaa | grep aaa
aaa
$ echo $?
0

$ echo bbb | grep aaa
$ echo $?
1

您可以扩展命令以在grep返回非零代码时发送电子邮件:

curl -m 10 --header "Content-Type: text/xml;charset=UTF-8"  \
--data @payload.xml http://test.abc.com/services/Games 2>&1 \
| grep -iwn 'Game1\|Game2\|Game3' \
|| (echo | mail -s "Game not found" user@domain.com)