更改脚本以针对电池电量而不是温度进行操作

更改脚本以针对电池电量而不是温度进行操作

我有一个脚本可以让计算机在一定的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%

相关内容