从 bash 脚本监视标准输入的变化

Monitor changes in stdin from a bash script

我想制作一个 bash 工具作为脚本,以便在给定命令的输出发生变化时得到通知。例如,用例是在长脚本的输出发生变化时获得通知。我希望它与 tee 命令在同一型号上使用:

any_long_script_to_run | my_tool 

然后输出会被透明地复制到标准输出,但我还想定义一个自定义函数(播放声音、显示通知...)到 运行 每次换行例如写的

在 bash 中有什么聪明的方法可以做到这一点吗?

非常感谢!

创建通知的命令取决于您 OS/window 的经理 运行,但一个简单的答案是:

any_long_running_command | while IFS= read -r line; do
    printf "\a%s\n" "$line"
done

\a是“铃”字,通常会发出声音。