美文网首页
Mac GUI应用读取不到终端的环境变量

Mac GUI应用读取不到终端的环境变量

作者: 木脑 | 来源:发表于2018-01-11 11:20 被阅读0次

系统环境

mac 10.12.3

问题

用Eclipse时候读取不到 ~/.bash_profile 下定义的环境变量,确切的说,是GUI应用读取不到终端的环境变量

这个在StackOverflow上有过百的话题Hundreds of topics at Stack Overflow

解决

使用github上开源的osx-env-sync,其中README写了如何使用osx-env-sync,这里简要的翻译下

方法一

  • 下载启动代理

curl https://raw.githubusercontent.com/ersiner/osx-env-sync/master/osx-env-sync.plist -o ~/Library/LaunchAgents/osx-env-sync.plist

  • 下载shell脚本

curl https://raw.githubusercontent.com/ersiner/osx-env-sync/master/osx-env-sync.sh -o ~/.osx-env-sync.sh

  • 给shell脚本权限

chmod +x ~/.osx-env-sync.sh

  • 加载shell脚本到当前环境

launchctl load ~/Library/LaunchAgents/osx-env-sync.plist

  • 重启GUI应用,此时GUI应用能读取到环境变量。

修改环境变量后需要重新加载脚本

launchctl unload ~/Library/LaunchAgents/osx-env-sync.plist

launchctl load ~/Library/LaunchAgents/osx-env-sync.plist

如果想在修改环境变量后自动化加载脚本

  • 把脚本下载到 ~/bin 目录下

curl https://raw.githubusercontent.com/ersiner/osx-env-sync/master/osx-env-sync-now -o ~/bin/osx-env-sync-now

  • 给脚本权限

chmod +x ~/bin/osx-env-sync-now

  • 在需要重新加载脚本的时候执行命令

osx-env-sync-now

相关文章

网友评论

      本文标题:Mac GUI应用读取不到终端的环境变量

      本文链接:https://www.haomeiwen.com/subject/ueyznxtx.html