管道通知 - 以块的形式发送

时间:2016-01-13 22:35:59

标签: unix mocha piping

我正在尝试编写一个命令,使用_Configuration cl工具将unix输出发送到桌面通知。我有以下命令:

notify-send 我想要的是什么,除了我希望每次mocha barfs出一些新东西时我都会在一个通知中吐出整个mocha的输出。现在,我收到了每一行的通知,这非常令人讨厌。

如果有任何工具应该已经为我做了,我也会对它们感兴趣。

1 个答案:

答案 0 :(得分:1)

这应该符合您的期望:

notify-send -t 5000 "mocha:" "$(mocha -w)"

这将mocha -w的完整输出放在notify-send

的第四个参数中

如果mocha -w没有终止,那么特定于bash的read -t会派上用场:

mocha -w | ( while true; do MSG=""; while read -t .1 LINE; do MSG="$MSG $LINE"; done; if [ "$MSG" != "" ]; then notify-send -t 5000 "$MSG"; fi; done; )

这会汇总在一条消息中以1/10秒的时间范围进入的所有行。您可以调整此超时以满足您的需求。请注意,这是特定于bash的,其他shell(即破折号)可能不支持它。