该脚本通过某些命令获取文件的路径,然后运行 mount 命令。
pkgname= #defined here
su -c "apkfile= #defined here &&\
stockapp=$(pm path $pkgname | sed -n '/base/s/package://p') &&\
mount -o bind $apkfile \$stockapp"
apkfile 路径不包含任何特殊字符,但库存应用程序路径包含无法执行 mount 命令的字符,因为它们被扩展而不是按字面意思处理。我想扩展变量然后放入单引号
所以命令变成
mount -o /data/adb/path/apkname.apk '/data/app/~~$JwIEhjduwUE==com.google.android.youtube/base.apk'
答案1
尝试将扩展变量和命令替换放入单引号中:
apkfile= #defined here
pkgname= #defined here
su -c 'mount -o bind '\'"$apkfile"\'' '\'$(pm path "$pkgname" | sed -n '/base/s/package://p')\'