变量包含 $,需要扩展

变量包含 $,需要扩展

该脚本通过某些命令获取文件的路径,然后运行 ​​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')\'

相关内容