1

我最近更改了桌面环境,新的没有电池监视器。通过执行以下操作,我设法创建了一个简单的手册:

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

谢谢

4

1 回答 1

1

我想出了以下解决方案:

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

2)设置权限:

chmod 700 /path/to/script.sh

3)设置一个cron作业运行crontab -e并添加以下行:

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

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

于 2013-11-07T19:46:59.737 回答