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

Linux/ADB拼接date与uptime命令:Android设备负载平均值异常求助

问题解决:Android设备Shell脚本拼接date与uptime并修正load average异常

问题根源

你当前的命令中,$(uptime)会被本地Shell提前解析执行,再将结果传递给Android设备的Shell,而非在Android设备上执行uptime命令,这导致load average始终显示异常的0.00数值。同时,date命令的格式参数无法直接嵌入命令替换,这种写法本身不符合date的使用逻辑。

正确实现命令

要让date和uptime都在Android设备的Shell中执行并拼接成一行,可使用以下两种写法:

写法一(推荐,单引号避免本地解析)

adb -s 10.0.0.2:5555 shell 'while true; do echo "$(date '+%a, %b %d %T %Z %Y') $(uptime)"; sleep 1; done'

写法二(双引号转义命令替换)

adb -s 10.0.0.2:5555 shell "while true; do echo \"\$(date '+%a, %b %d %T %Z %Y') \$(uptime)\"; sleep 1; done"

原理说明

  • 用单引号包裹整个远端Shell脚本时,本地Shell不会解析其中的$(...)语法,直接将完整脚本传递给Android设备执行。
  • 通过echo命令将date的输出结果和uptime的输出结果拼接为一行,这是最直接可靠的文本拼接方式,避免了date格式参数的误用。

执行后会每秒输出一行符合要求的内容,包含Android设备的当前时间和完整的运行时长、负载信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:10:32