変数に$が含まれており、拡張する必要があります。

変数に$が含まれており、拡張する必要があります。

スクリプトはいくつかのコマンドを介してファイルパスを取得し、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')\'

おすすめ記事