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

问题描述 投票:0回答:1

我试图将变量传递给我的安装后脚本,但似乎不可用。我试过这个但是不起作用:

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

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

谢谢!

macos shell variables package installer
1个回答
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 /
© www.soinside.com 2019 - 2024. All rights reserved.