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

nan*_*itv 5 macos environment-variables macos-mojave

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

请给一些建议。

Dan*_*jel 6

这适用于 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.


mtt*_*pgn -1

不确定如何设置环境变量,但请确保使用导出命令将其保留在 shell 中,例如export EDITOR=/usr/bin/vim. 然后,您可以使用 来检查从另一个 shell 导出了哪些变量export -p

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

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