CRON作业和bash脚本,用于检查电池状态和蜂鸣音

CRON作业和bash脚本,用于检查电池状态和蜂鸣音,bash,cron,alert,monitor,battery,Bash,Cron,Alert,Monitor,Battery,我最近改变了桌面环境,新的没有电池显示器。 我通过以下操作创建了一个简单的手册: alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"' 我想把它带到下一个级别,创建一个脚本,不仅检查电池电量,还根据它发出蜂鸣音,如果电池电量低于20%,它会发出蜂鸣音。 然后我想将其作为CRON作业运行,假设它每5分钟运行一次 我还使用以下方法创建了我喜欢的哔

我最近改变了桌面环境,新的没有电池显示器。 我通过以下操作创建了一个简单的手册:

alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
我想把它带到下一个级别,创建一个脚本,不仅检查电池电量,还根据它发出蜂鸣音,如果电池电量低于20%,它会发出蜂鸣音。 然后我想将其作为CRON作业运行,假设它每5分钟运行一次

我还使用以下方法创建了我喜欢的哔哔声:

alias beep='paplay /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg'
假设涵盖了CRON部分,假设使用与“bat”中相同的命令,您将如何在bash中编写此脚本:

upower -i /org/freedesktop/UPower/devices/battery_BAT0

谢谢

我想出了以下解决方案:

1) 创建bash脚本:

#!/bin/bash

bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
beep='paplay /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg'

# This gets the integer percentage of current battery capacity
p=$(eval $bat | grep 'percentage' | awk '{print $2}' | awk -F '.' '{print $1}')

# if bat < 25% -> BEEP once
if [ "$p" -le 25 ] ; then
    eval $beep
fi
3) 要设置cron作业,请运行
crontab-e
并添加以下行:

*/1 * * * * /path/to/script.sh

这意味着脚本将每分钟运行一次。

我想出了以下解决方案:

1) 创建bash脚本:

#!/bin/bash

bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
beep='paplay /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg'

# This gets the integer percentage of current battery capacity
p=$(eval $bat | grep 'percentage' | awk '{print $2}' | awk -F '.' '{print $1}')

# if bat < 25% -> BEEP once
if [ "$p" -le 25 ] ; then
    eval $beep
fi
3) 要设置cron作业,请运行
crontab-e
并添加以下行:

*/1 * * * * /path/to/script.sh

这意味着脚本将每分钟运行。

虽然
*/1
有效,但如果作业应每分钟运行,则可以将其替换为
*
。虽然
*/1
有效,但如果作业应每分钟运行,则可以将其替换为
*