
我希望以给定的时间间隔执行命令并在类似咆哮的窗口中显示结果。有没有简单的方法可以做到这一点?
例如,我正在运行一项调整图像大小的作业,我想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
将显示从一个快照到下一个快照的差异,从而可以清楚地看到事物的变化。