【问题标题】:How to set the $PATH as used by applications in os x如何在 os x 中设置应用程序使用的 $PATH
【发布时间】:2010-10-02 10:17:46
【问题描述】:

我正在使用 ant 构建我的项目,并使用“svnversion”可执行文件将版本 ID 插入到我的源代码中以便于跟踪版本。

从命令行运行这个 ant 文件是可行的,我在 .profile 中设置了我的 $PATH 以包含 svnversion 的路径,它运行良好。

现在我尝试从 Eclipse 内部运行这个相同的 ant 文件,但它不起作用 - Eclipse 中的 PATH 以不同于 shell 的 PATH 的方式设置,我怀疑这必须在某处的 plist 中设置,但是我不知道在哪里。

【问题讨论】:

    标签: macos path variables environment


    【解决方案1】:

    正确 -- 它在 plist 文件中

    ~/.MacOSX/environment.plist
    

    此文件实际上包含您要设置的任何环境变量的键值对,用于整个登录会话。与 .profile/.cshrc 等不同,它可用于 GUI 程序。不幸的是,您不能在此处访问其他环境变量(例如,您不能使用 $HOME)或使用任何其他编程结构。

    更新:请注意,OS X 10.8 Mountain Lion 不再支持此功能,唉。

    【讨论】:

    • 谢谢,这正是我想要的。
    【解决方案2】:

    在 developer.apple.com 上快速搜索发现 Setting environment variables for user processes

    【讨论】:

    • 从没想过真正搜索苹果网站,我一直在尝试谷歌,吸取教训;-)
    【解决方案3】:

    在 Mac OS X El Capitan (10.11.5) 上,这适用于每个用户的 PATH 条目(以及其他环境变量)。

    • 创建文件$HOME/.profile
    • 在该文件中设置所有与 PATH 相关的变量
    • (如果使用 bash),请让您的 .bash_profile 获取该文件的源代码,以及 .bashrc。这应该是您的.bash_profile 的全部内容:

      # $HOME.bash_profile: source $HOME/.profile source $HOME/.bashrc

    据我所知,Mac OS 不会在登录时为PATH 提供.bash_profile,大概是因为这通常运行速度很慢(初始化 bash 完成等)。它似乎是$HOME/.profile

    您仍然需要 $HOME/.bash_profile 来触发 bash 来读取 $HOME/.bashrc,否则它不会像 Terminal.app 创建的交互式非登录终端那样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-23
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多