#curl #grep
#curl #grep
Вопрос:
Я настраиваю проверку для поиска нескольких слов в XML-файле, сгенерированном из инструкции CURL, и выдаю предупреждение, если эти слова не найдены.
curl -m 10 --header "Content-Type: text/xml;charset=UTF-8" --data @payload.xml http://test.abc.com/services/Games 2>amp;1 | grep -iwn 'Game1|Game2|Game3'
Поскольку вывод CURL представляет собой формат XML, я использую stdout
и использую grep
, чтобы найти 3 разные игры в этом XML. Это распечатывает XML как есть и выделяет игры, для моего предупреждения я хочу сделать следующее: если ни одна из этих игр не найдена в выводе curl, мне нужно отправить уведомление.
Любая помощь будет оценена.
Спасибо, K
Ответ №1:
Используйте код возврата команды:
$ 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>amp;1
| grep -iwn 'Game1|Game2|Game3'
|| (echo | mail -s "Game not found" user@domain.com)