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

Shell脚本如何过滤电池电流数据并根据输出结果执行对应命令

Shell脚本判断电池电流执行对应命令实现方案

直接修改test.sh脚本内容即可,核心是先提取电流数值,再做整数大小比较,不需要额外依赖第三方工具。

基础可用版本

#!/bin/bash
# 提取Battery current字段后的数值
battery_current=$(adb shell dumpsys battery | awk '/Battery current/{print $NF}')

# 整数比较分支判断
if [ "$battery_current" -gt -1000 ]; then
    Command1
else
    Command2
fi

关键说明

  • awk命令里的$NF表示匹配行的最后一个字段,刚好对应输出里冒号后的电流数值,不需要额外做字符串裁剪
  • -gt是Shell原生的整数比较运算符,专门处理整数大小判断,不会出现字符串比较的逻辑错误
  • 变量取值加双引号是做兼容处理,避免数值提取为空时脚本抛出语法错误

兼容异常的增强版本

如果需要处理adb未连接、dumpsys输出异常拿不到有效数值的场景,可以加上数值合法性校验:

#!/bin/bash
battery_current=$(adb shell dumpsys battery | awk '/Battery current/{print $NF}')

# 校验提取到的内容是否为合法整数
if ! [[ "$battery_current" =~ ^-?[0-9]+$ ]]; then
    echo "获取电池电流值失败,请检查adb连接状态"
    exit 1
fi

if [ "$battery_current" -gt -1000 ]; then
    Command1
else
    Command2
fi

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 08:51:32