我正在使用mac os mojave(10.14.3)。我在两者中都设置了环境变量 〜/ .bash_profile和〜/ .bashrc ,我都运行了。 〜/ .bash_profile和〜/ .bashrc。然后,在同一终端中,我可以看到我设置的值(使用printenv),但是如果我打开一个新终端,则看不到先前设置的env变量。
请提出一些建议。
答案 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)
来更改它。