将 adb 输出传递给 bash 脚本中的变量
passing adb output to variable in bash script
我正在尝试创建 bash 脚本以使用 adb 手动安装拆分 APK 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 < pm install-write -S 24628703 547376362 0 /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
使用“扩展”正则表达式(更易于使用)
grep -o
只输出匹配的部分,本例中为整数
SESSION=$(some_cmd)
将标准输出从 some_cmd
存储到变量 SESSION
,并允许使用管道等
我正在尝试创建 bash 脚本以使用 adb 手动安装拆分 APK 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 < pm install-write -S 24628703 547376362 0 /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
使用“扩展”正则表达式(更易于使用)grep -o
只输出匹配的部分,本例中为整数SESSION=$(some_cmd)
将标准输出从some_cmd
存储到变量SESSION
,并允许使用管道等