按给定间隔执行命令(无 cron)+将输出重定向到类似咆哮的通知

按给定间隔执行命令(无 cron)+将输出重定向到类似咆哮的通知

我希望以给定的时间间隔执行命令并在类似咆哮的窗口中显示结果。有没有简单的方法可以做到这一点?

例如,我正在运行一项调整图像大小的作业,我想ls|wc -l每 5 分钟执行一次以检查进度。

答案1

安装incron并让它在目录中发生更改时执行通知。在由运行的脚本中incron可以touch如果文件距离上次被触摸已过去至少五分钟,则发送通知(使用zenity或类似内容)。

编辑:

另一个选项notify-send通常位于名为“libnotify”之类的包中。

这将在左上角附近每五分钟显示三秒钟的文件计数(30 分钟后停止):

start=$SECONDS
while (( $SECONDS < start + 30 * 60 ))
do
    if (( ! ( ($SECONDS - start) % (5 * 60) ) ))
    then
        notify-send --expire-time=3000 --hint=int:x:0 --hint=int:y:0 $(ls | wc -l)&
        sleep 1
    fi
done

当然,你也可以直接这么做sleep 5m

答案2

您可以使用如下方式进行监视:

$ watch -n5 "ls | wc -l"

ls | wc -l这将每五秒执行一次命令。

答案3

与 Khaled 类似,但有一点不同:

watch -d -n 5 'ls | wc -l'

-d将显示从一个快照到下一个快照的差异,从而可以清楚地看到事物的变化。

相关内容