Shell脚本在传递给pkgbuild时不替换字符串变量

时间:2012-05-25 16:27:22

标签: bash shell installer

我正在OSX上调用pkgbuild命令,如下所示:

NAME="Product"
IDENTIFIER="com.${NAME}Package"
pkgbuild --identifier "${IDENTIFIER}" --root "${CONTENTROOT}" "Installer.pkg"

当我回复Identifier时,我会按照您的预期得到com.ProductPackage。 当我像这样运行pkgbuild时,提取生成的.pkg文件并查看文件PackageInfo,它的内容如下:

<pkg-info overwrite-permissions="true" relocatable="false" identifier="com.${NAME}Package" ...

由于某些原因,除标识符之外的所有其他参数都被正确替换。

这里出了什么问题,如何解决?

1 个答案:

答案 0 :(得分:1)

我能想到的唯一方法就是你在作业中使用单引号:

IDENTIFIER='com.${NAME}Package'

我注意到你提到了回应“标识符”(注意案例的区别)。这会让你感到困惑吗?