将ADB输出传递到bash脚本中的变量

发布于 2025-01-22 07:29:56 字数 432 浏览 0 评论 0原文

我试图创建BASH脚本以用ADB Shell手动安装拆分APK 需要使用命令bellow

命令

session ='pm install -install -streate -s 42211368'

来获取会话ID 。

的会话ID

547376362将是我想将547376362传递到会话变量

sh< 。 pm install install -write -s 24628703 $ {session} 0

/sdcard/ytapkm/base.apk 因此,结果应为“ sh< pm install -write -s install -s install -s 24628703 547376362 /YTAPKM/base.apk“

im trying to create bash script to install split APKs manually with adb shell
that requires to get session id using the command bellow

command

SESSION='pm install-create -S 42211368'

this will output something like : Success: created install session [547376362]

547376362 will be the session ID

I want to pass 547376362 into SESSION Variable

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

so result shall be "sh < pm install-write -S 24628703 547376362 0 /sdcard/YTAPKM/base.apk"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

世俗缘 2025-01-29 07:29:56

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使用“扩展”正则表达式(易于使用)
  • grep -o仅输出匹配部分,在这种情况下的整数
  • session = $(some_cmd)将stdout从some_cmd存储到变量session,并允许使用管道等等

grep is sufficient for this.

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

To explain what's happening a bit:

  • grep -E uses "extended" regular expressions (easier to work with)
  • grep -o outputs only the matching part, the integer in this case
  • SESSION=$(some_cmd) stores the stdout from some_cmd to the variable SESSION, and allows for pipes and such too
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文