Mac OS Mojave-永久设置环境变量

时间:2019-04-12 09:16:43

标签: environment-variables macos-mojave

我正在使用mac os mojave(10.14.3)。我在两者中都设置了环境变量 〜/ .bash_profile和〜/ .bashrc ,我都运行了。 〜/ .bash_profile和〜/ .bashrc。然后,在同一终端中,我可以看到我设置的值(使用printenv),但是如果我打开一个新终端,则看不到先前设置的env变量。

请提出一些建议。

2 个答案:

答案 0 :(得分:2)

这适用于OS X 10.14“ Mojave”:

步骤1:转到您的$HOME/Library/LaunchAgents目录,并创建包含以下内容的setenv.MY_VAR.plist文件:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>setenv.MY_VAR</string> <key>ProgramArguments</key> <array> <string>/bin/launchctl</string> <string>setenv</string> <string>MY_VAR</string> <string>SOME_VALUE_FOR_MY_VAR</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>

请注意您的文件名和文件中的条目必须匹配。

第2步:运行launchctl load ~/Library/LaunchAgents/setenv.MY_VAR.plist或-重新启动系统。

第3步:重新启动终端应用程序。

步骤4:检查var是否存在:env。它应该给您:MY_VAR=SOME_VALUE_FOR_MY_VAR

如果您要进行更多更改,请先执行launchctl unload...,再执行launchctl load...

这是每个用户设置。如果要为所有用户设置,请尝试在/Library/LaunchDaemons中进行相同的操作。

答案 1 :(得分:0)

不确定如何设置环境变量,但是请确保您正在使用export命令在外壳之间持久保存它,例如export EDITOR=/usr/bin/vim。然后,您可以使用export -p检查从另一个shell导出了哪些变量。

直接从命令行运行bash将会获取您的.bashrc文件。如果在打开新的终端窗口时未获取.bashrc文件,则可能是not running bash

在默认情况下,/bin/sh是您的默认shell(而不是bash),您可以通过运行chsh -s $(which bash)来更改它。

相关问题