将变量传递给OSX软件包Installer上的安装程序

时间:2019-04-04 08:25:15

标签: macos shell variables package installer

我正在尝试将变量传递给我的安装后脚本,但似乎不可用。 我试过了,但是没用:

sudo MY_VAR=VALUE installer -pkg my_package.pkg -target / 

我需要在安装后脚本中访问没有配置文件的环境变量。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用export var_name=value在这种情况下不起作用。为此,您必须使用launchctl并通过运行launchctl setenv var_name value导出变量。之后,您可以使用launchctl getenv var_name获取变量的值。在这里,您可以看到一个示例:

sh-3.2# launchctl setenv var1 hello      
sh-3.2# launchctl setenv var2 world
sh-3.2# launchctl getenv var1
hello
sh-3.2# launchctl getenv var2
world

您还可以一次设置多个变量:

sh-3.2# launchctl setenv var3 one var4 line
sh-3.2# launchctl getenv var3
one
sh-3.2# launchctl getenv var4
line

要与您的软件包一起使用,可以运行以下命令:

sh-3.2# launchctl setenv var_name value && installer -pkg your_package.pkg -target /