1

当我设置环境变量时

launchctl setenv FOO test

我可以通过

launchctl getenv FOO

它返回我“测试”,但是一个简单的

echo $FOO

不替代,结果为空。在同一航站楼和新航站楼。

背景:Yosemite 10.10 不再支持 /etc/launchd.conf 用于系统范围的设置,因此通过 launchd.conf 设置环境变量不再适用于 OS X Yosemite/El Capitan/macOS Sierra?看起来很有希望,但我需要通过 访问环境变量$VARNAME,这在我的情况下不起作用。

4

1 回答 1

1

正如我在此处的问题/问题 部分中所写,为了在系统重新启动后应用程序正确获取您的环境变量,您将需要:

  • 要么登录两次:登录=>注销=>登录
  • 或手动关闭并重新打开应用程序,其中应采用环境变量
  • 或者不要使用“重新登录时重新打开窗口”功能。

发生这种情况是因为 Apple 拒绝对加载的服务进行显式排序,因此 env 变量与“重新打开队列”的处理并行注册。

于 2014-11-20T20:45:50.493 回答