如何从 bash 脚本观看 RSS feed 中的新条目?

如何从 bash 脚本观看 RSS feed 中的新条目?

我需要从我们的 hudson ci 服务器观看 RSS 源。每次有新条目可用时,我想通过调用来播放声音#>play sound.wav

有谁知道有一个工具可以观看 rss-feed 并在每次出现新条目时触发命令?

我看了一下rsstail,但它从 feed 中获取所有条目,而不是最新的条目,或者仅仅是自上次查找以来的新条目。

答案1

您可以尝试使用新闻博伊特它有一个选项来运行外部命令(请参阅notify-program 在文档中)。

坎托还有一些可定制的钩子,虽然整个配置系统乍一看有点复杂。

使用rsstail+ shell 您还可以调用外部命令。从你已经弄清楚的开始:

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

相关内容