![bash 스크립트에서 RSS 피드의 새 항목을 보는 방법은 무엇입니까?](https://linux55.com/image/18859/bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20RSS%20%ED%94%BC%EB%93%9C%EC%9D%98%20%EC%83%88%20%ED%95%AD%EB%AA%A9%EC%9D%84%20%EB%B3%B4%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
허드슨 ci 서버에서 RSS 피드를 시청해야 합니다. 새 항목을 사용할 수 있을 때마다 호출하여 소리를 재생하고 싶습니다 #>play sound.wav
.
RSS 피드를 보고 새 항목이 나타날 때마다 명령을 실행할 수 있는 도구를 아는 사람이 있습니까?
살펴보았는데 rsstail
최신 항목이 아닌 피드의 모든 항목을 가져오거나 마지막 조회 이후의 새 항목만 가져옵니다.
답변1
당신은 사용해 볼 수 있습니다뉴스 보이트외부 명령을 실행하는 옵션이 있습니다(참조:notify-program
문서에서).
선창자맞춤설정 가능한 항목도 있습니다.훅, 언뜻보기에는 전체 구성 시스템이 약간 복잡해 보이지만.
+shell을 사용하면 rsstail
외부 명령을 호출할 수도 있습니다. 이미 알아낸 것부터 시작하세요.
rsstail -i 3 -u example.com/rss.xml -n 0
출력을 while read
루프로 파이프합니다.
rsstail -i 3 -u example.com/rss.xml -n 0 | while read line
do
aplay /some/sound/file.wav
echo "$line"
done
답변2
해결책은 다음과 같습니다.
rsstail -i 3 -u example.com/rss.xml -n 0 | while read x ; do play fail.ogg ; done
따라서 피드에 새로운 주제가 게시될 때마다 사운드가 재생됩니다. 게임은 sox 패키지로 제공됩니다.
답변3
당신은 시도 할 수 있습니다:
#!/bin/bash
last=""
while true
do
now="$(curl http://yourdomain/feed.rss 2> /dev/null | grep pubDate | head -1)"
test "$last" != "$now" && play mysound.wav
last="$now"
sleep 1m
done