我遵循了这个问题:Provide xcodebuild with .mobileprovision file并使用答案中提供的脚本尝试将.mobileprovision文件复制到目录中,唯一的区别是我使用grep替换了mParse依赖项,根据此建议链接:https://gist.github.com/benvium/2568707
但是,当我运行此脚本时,我收到以下错误:
$ sh installMobileProvisionFile.sh BuilderTestNew.mobileprovision
Found UUID 402a766e-bfc7-4f16-8ab6-a46a95361b00
copying to ~/Library/MobileDevice/Provisioning Profiles/402a766e-bfc7-4f16-8ab6-a46a95361b00.mobileprovision..
cp: ~/Library/MobileDevice/Provisioning Profiles/402a766e-bfc7-4f16-8ab6-a46a95361b00.mobileprovision: No such file or directory
done
如果我只是自己运行脚本中执行的cp命令替换上述值的变量,它正常工作,所以我不能理解为什么它在使用这个脚本时失败了?顺便说一句,我在优胜美地。
编辑:
以下是改编后的剧本:
if [ ! $# == 1 ]; then
echo "Usage: $0 (path/to/mobileprovision)"
exit
fi
mp=$1
uuid=`grep UUID -A1 -a ${mp}| grep -io "[-A-Z0-9]\{36\}"`
echo "Found UUID $uuid"
output="~/Library/MobileDevice/Provisioning Profiles/$uuid.mobileprovision"
echo "copying to $output.."
cp "${mp}" "$output"
echo "done"`
答案 0 :(得分:3)
在cp
中使用Bash
命令时,您需要提供文件的完整路径。诸如~/myFolder
之类的别名将无效。您需要提供完整路径,例如/Users/Me/myFolder
。