![更改脚本以针对电池电量而不是温度进行操作](https://linux22.com/image/108649/%E6%9B%B4%E6%94%B9%E8%84%9A%E6%9C%AC%E4%BB%A5%E9%92%88%E5%AF%B9%E7%94%B5%E6%B1%A0%E7%94%B5%E9%87%8F%E8%80%8C%E4%B8%8D%E6%98%AF%E6%B8%A9%E5%BA%A6%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C.png)
我有一个脚本可以让计算机在一定的CPU温度下进入睡眠状态;
#!/bin/bash
while true; do
val=$(sensors | awk '/temp1/ {print $2}')
max=$(echo "+82.0")
if [[ "$val" > "$max" ]]
then
systemctl suspend -i
fi
sleep 5
clear
sensors
done
exit 0
是否可以调整/编辑以使计算机在特定电池电量下进入睡眠状态?
答案1
根据您的系统,您应该能够从 bash 中获取电池百分比水平
level=$(</sys/class/power_supply/BAT0/capacity)
echo $level
检查下面的目录和文件/sys/class/power_supply/
以获取您的设备名称和其他信息。您还可以使用upower
命令来获取更多描述性数据:
$ upower -d
...
Device: /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
vendor: YYYYY
model: XXXX
power supply: yes
battery
present: yes
rechargeable: yes
state: discharging
energy: 23.436 Wh
energy-full: 26.622 Wh
energy-rate: 5.5728 W
voltage: 11.97 V
time to empty: 4.2 hours
percentage: 88%