将adb输出传递给bash脚本中的变量



我试图创建bash脚本安装分裂apk手动与adb shell这需要使用下面的命令获得会话id

命令

SESSION='pm install-create -S 42211368'

将输出如下:Success: created install session [547376362]

547376362将是会话ID

我想传递547376362到SESSION变量

sh < pm install-write -S 24628703 ${SESSION} 0 /sdcard/YTAPKM/base.apk

因此结果应为"sh <<strong>5473763620/sdcard/YTAPKM/base.apk"

grep是足够的。

SESSION=$(pm install-create -S 42211368 | grep -oE '[0-9]+')
sh < pm install-write -S 24628703 ${SESSION} 0 /sdcard/YTAPKM/base.apk

解释一下发生了什么:

  • grep -E使用"extended"正则表达式(更容易使用)
  • grep -o只输出匹配的部分,本例中为整数
  • SESSION=$(some_cmd)some_cmd的标准输出存储到变量SESSION,并允许管道等

相关内容

  • 没有找到相关文章

最新更新