一段时间后重复命令

一段时间后重复命令

我有一个这样的命令:

if [ $battery_level -le 6 -a $STATUS = $NOT_CHARGING ] #Battery Low 1
        then
/usr/bin/notify-send -i "$ICONL" "Battery critically low!" "Battery level is ${battery_level}%!"
paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga

当电池电量达到一定水平时,它会发出消息并发出声音。但它重复得太频繁了。

我可以将其设置为睡眠状态并再次运行,方法是用类似 的行分隔相同的命令sleep 120s,但我不知道它应该运行多少次。

我需要它以两分钟的间隔无限期地运行(因为在某些时候系统睡眠或休眠是由完全不同的脚本触发的)。

看这里:如何永远每隔 X 秒运行或重复一次 Linux 命令,我看到一个选项是 ,sleep另一个是watch

watch似乎有效,但它仅适用于表单

watch -n 120 <my_line>,这会稍微改变输出(不再显示电池电量)。

答案1

只需使用一个while循环:

while [ "$battery_level" -le 6 ] && [ "$STATUS" = "$NOT_CHARGING" ]

相关内容