我想创建一个shell脚本,该脚本将由cron作业每分钟运行一次。脚本的工作将是通知我在不同条件下(取消)插入充电器:
当电池处于充电状态且已充满约80%时,它提醒我拔下电缆。
当电池处于放电状态并且已充满40%左右时,它提醒我将电缆插回去。
我的crontab文件:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * /home/aleksa/charge.sh
# newline
我的/home/aleksa/charge.sh
脚本:
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
RESPONSE="$(upower -i /org/freedesktop/UPower/devices/battery_BAT0)"
#if percentage is around 40%, and state is discharging
if echo "${RESPONSE}" | grep -E '38%|39%|40%|41%|42%' && echo "${RESPONSE}" | grep -w 'discharging'
then zenity --notification --window-icon=update.png --text "Connect charger";
fi
#if percentage is around 80%, and state is charging
if echo "${RESPONSE}" | grep -E '78%|79%|80%|81%|82%' && echo "${RESPONSE}" | grep -w 'charging'
then zenity --notification --window-icon=update.png --text "Disconnect charger";
fi
我认为问题出在脚本中,因为我尝试了其他方法来检测问题出在哪里:
date
命令响应附加到文件中来进行测试RESPONSE
变量,但仍然无法正常工作答案 0 :(得分:1)