当我设置环境变量
时launchctl setenv FOO test
我可以通过
获取值launchctl getenv FOO
返回'test',但是简单
echo $FOO
不替换,结果为空。在同一个终端以及新终端。
背景:Yosemite 10.10不再支持/etc/launchd.conf用于系统范围的设置,因此Setting environment variables via launchd.conf no longer works in OS X Yosemite/El Capitan/macOS Sierra?看起来非常有前景,但我需要通过$VARNAME
访问env vars,在我的情况下不起作用。
答案 0 :(得分:1)
正如我在问题/问题 here部分中所写,为了在系统重启后应用程序正确使用您的env变量,您需要:
这是因为Apple拒绝加载服务的显式排序,因此env变量与“重新打开队列”的处理并行注册。