0
このスクリプトで私の.bash_profileを強化しています。 .ipaを抽出し、プロビジョニングプロファイル情報を表示します。 .ipaファイルは一時ディレクトリに展開されます。macOSのbashスクリプトで新しく生成されたtempディレクトリにアクセスできない
function prov() {
myTmpDir=`mktemp -d 2>/dev/null || mktemp -d -t 'myTmpDir'`
unzip -q "$1" -d "${myTmpDir}";
pathToFile="${myTmpDir}/Payload/*.app/embedded.mobileprovision"
security cms -D -i "${pathToFile}"
}
問題はsecurity cms
スクリプトで抽出されたファイルにアクセスできないことです。しかし
mles-MacBook-Pro:2015 mles$ prov gfhZH_v4.7.0_20161222_1544.ipa
security: unable to open "/var/folders/vc/rmwcd9014fx1__syr239k1740000gn/T/tmp.CrAJbnwj/Payload/*.app/embedded.mobileprovision" for reading: No such file or directory
手でそれをaccesing作品:
mles-MacBook-Pro:2015 mles$ ls /var/folders/vc/rmwcd9014fx1__syr239k1740000gn/T/tmp.CrAJbnwj/Payload/*.app/embedded.mobileprovision
/var/folders/vc/rmwcd9014fx1__syr239k1740000gn/T/tmp.CrAJbnwj/Payload/fsg4zh.app/embedded.mobileprovision
が手でsecurity cms -D -i
も作品実行
mles-MacBook-Pro:2015 mles$ security cms -D -i /var/folders/vc/rmwcd9014fx1__syr239k1740000gn/T/tmp.CrAJbnwj/Payload/*.app/embedded.mobileprovision
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
...
なぜシェルスクリプトでこれはできないのですか?
変数を引用符で囲むと、 '*'ワイルドカードが展開されません。なぜそれを最初に使っていますか? – Barmar
ああ。私は事前に.appフォルダの名前を知らない。しかし、1つの.appフォルダしかないので、最初にワイルドカードを解決する方法を見つける必要があります。 – mles
引用符を削除すると機能します。私は間違いなくそのパスにスペースがないので、それらを削除することができます。あなたのコメントを答えに変換し、それを解決策としてマークします。 – mles