You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下读取电池功耗:双电池系统功率监控脚本需求

Bash脚本实现双电池功率监控

以下是满足需求的Bash脚本,同时解决功率值格式化和活跃电池判断的问题:

#!/bin/bash

# 定义要监控的电池列表
BATTERIES=("BAT0" "BAT1")

# 遍历每块电池处理数据
for bat in "${BATTERIES[@]}"; do
    power_file="/sys/class/power_supply/$bat/power_now"
    
    # 先检查文件是否可读取
    if [[ ! -r "$power_file" ]]; then
        echo "⚠️ 无法读取电池 $bat 的功率数据"
        continue
    fi

    # 读取微瓦数值
    power_microwatt=$(cat "$power_file")
    
    # 跳过功率为0的非活跃电池
    if [[ "$power_microwatt" -eq 0 ]]; then
        continue
    fi

    # 转换为易读的瓦特(保留两位小数)
    power_watt=$(echo "scale=2; $power_microwatt / 1000000" | bc)
    
    # 输出结果
    echo "当前活跃电池: $bat"
    echo "当前功率消耗: $power_watt W"
done

功能说明

1. 功率值格式化处理

  • power_now文件输出的是**微瓦(μW)**单位,通过bc工具执行除法运算/ 1000000转换为瓦特(W)。
  • scale=2参数控制结果保留两位小数,若需要整数或其他精度,修改该值即可(比如scale=0得到整数瓦特)。

2. 活跃电池自动判断

  • 脚本遍历两块电池,自动跳过power_now值为0的电池(对应未处于放电/使用状态的电池)。
  • 如果存在双电池同时工作的场景(部分设备支持),脚本会分别输出两块电池的功率信息。

额外优化

  • 增加了文件可读性检查,避免因权限不足或路径错误导致脚本异常。
  • 输出信息简洁直观,便于快速查看当前状态。

内容的提问来源于stack exchange,提问作者AutisticAllosaurus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 14:15:31