bash - 循环从文件中查找应用程序并使用 adb shell 将其拉取
问题描述
我从 bash 开始,我正在编写一个读取文件的脚本,在 android 设备中为每一行搜索信息(文件的每一行都是安装在设备上的应用程序的名称)
#!/bin/bash
filename="$1"
while read -r line
do
name="$line"
echo "App : - $name" | adb shell pm path $name
done < "$filename"
这里是这个脚本的结果
package:/data/app/com.naver.linewebtoon-1/base.apk
package:/data/app/com.game5mobile.lineandwater-2/base.apk
如何将每个结果行作为其他函数的参数
adb shell cat /data/app/com.naver.linewebtoon-1/base.apk > app1.apk
adb shell cat /data/app/com.game5mobile.lineandwater-2/base.apk > app2.apk
解决方案
echo "App : - $name" | adb shell pm path $name
adb
将作为命令调用,将 echo 的输出发送到其标准输入。那将无法实现您仅回显组合命令的目标。
使用 IFS 读取文件中的分隔数据并打印出组合命令,如下所示:
#!/bin/bash
filename="$1"
count=0
while IFS=: read -r _ path # ignore the first field by reading it into a dummy variable
do
printf '%s\n' "adb shell cat $path > app$((++count)).apk"
done < "$filename"
推荐阅读
- kotlin - 变换单
- >> 转单
- >
- tensorflow - 根据点的数量和大小,使用哪种神经网络将点状图像分类为一个数字?
- c# - cryptuiapi.h 和 wincrypt.h 是否有 C# 包装器?
- autodesk-forge - 重命名 Bucket 或转移所有模型
- vue.js - VueJS - 本地主机 API 请求在 Android Chromium 上不起作用
- css - 带有悬停时出现的文本的容器
- json - 如何在 Scala 中将 Json 转换为 XML?
- python - 将数字拆分为其中的素数
- javascript - 快速响应操作以将字符串发送到客户端
- python - 查找多个相同数字的立即数的优化或最佳方法