Sublimetext2 在OSX桌面上设置升华文本的环境变量

Sublimetext2 在OSX桌面上设置升华文本的环境变量,sublimetext2,sublimetext,.bash-profile,sublime-build,Sublimetext2,Sublimetext,.bash Profile,Sublime Build,我希望能够从我的sublime文本构建中访问在.bash_概要文件中设置的JAVA_HOME变量。当我构建时,我得到以下错误 错误:未正确定义JAVA_HOME。 我们不能执行 这显然是因为ST2没有读取我的bash配置文件。这有什么黑客吗 谢谢 UNIX子进程上的继承父进程的环境。在这种情况下,升华文本不是通过进程链启动的,进程链将包括bashshell,bashshell反过来读取其概要文件 .bash_配置文件通常在shell登录时执行。根据您的操作系统,它在您进入桌面环境时不会执行。因此

我希望能够从我的sublime文本构建中访问在.bash_概要文件中设置的JAVA_HOME变量。当我构建时,我得到以下错误

错误:未正确定义JAVA_HOME。 我们不能执行

这显然是因为ST2没有读取我的bash配置文件。这有什么黑客吗


谢谢

UNIX子进程上的继承父进程的环境。在这种情况下,升华文本不是通过进程链启动的,进程链将包括bashshell,bashshell反过来读取其概要文件

.bash_配置文件通常在shell登录时执行。根据您的操作系统,它在您进入桌面环境时不会执行。因此,环境变量不可用

变通办法

  • 将环境变量放入一个文件,该文件总是在计算机启动时读取(除非您告诉您的操作系统,否则不知道是哪个文件)(例如Linux上的或/etc/profile)

  • 修改dekstop启动器图标

  • 将硬编码路径放入构建文件

  • 使用bashshell中的
    subl
    别名而不是桌面图标启动升华文本


似乎已经有人问我读了所有的帖子,但没有一个有用。在底部尝试了python脚本,但没有joyI在MacOS Mavericks上。理想情况下,我不想在构建文件中放入硬编码路径。我已经从bash启动了sublime。请解释第一种选择。谢谢更新了如何为OSX GUI应用程序识别环境变量的答案谢谢。也有人告诉你,如果你安装苹果的Java而不是Oracle SDK,它就可以工作了。我猜苹果的Java安装程序自己会做launchd.conf补丁。