在Mac OS X Lion上设置环境变量

当有人说“编辑你的.plist文件”或“你的.profile”或“.bash_profile”等,这只是让我困惑。 我不知道这些文件在哪里,如果我必须这样做,如何创建它们,以及为什么似乎有这么多不同的文件(为什么?他们做了不同的事情?)

那么是否有人可以对以前的Windows用户非常耐心地解释(如果最初有点令人困惑的OS X世界想要更加熟悉这个愉快的应用)如何一步一步做到这一点?

我需要为GUI应用程序和命令行应用程序设置变量,目前需要变量的ant脚本,但最有可能还有其他需求。

请注意,我也有狮子,因为你使用谷歌搜索的许多答案似乎已经过时了......

另外请注意,我几乎没有使用终端的经验。 我愿意学习,但请为新手解释...


首先,要认识OS X的一点是它是建立在Unix上的。 这是.bash_profile的用途。当你在OS X中启动终端应用程序时,默认情况下你会得到一个bash shell。 bash shell来自Unix,并且在加载时运行.bash_profile脚本。 您可以修改此脚本以供用户更改您的设置。 该文件位于:

~/.bash_profile

小牛更新

OS X Mavericks不使用environment.plist - 至少不适用于OS X Windows应用程序。 您可以对窗口化应用程序使用launchd配置。 .bash_profile仍然受支持,因为它是Terminal中使用的bash shell的一部分。

只有狮子和山狮

OS X窗口应用程序从您的environment.plist文件接收环境变量。 这可能是您“.plist”文件的含义。 该文件位于:

~/.MacOSX/environment.plist

如果您对environment.plist文件进行了更改,则OS X Windows应用程序(包括终端应用程序)将设置这些环境变量。 您在.bash_profile中设置的任何环境变量只会影响您的bash shell。

通常我只在我的.bash_profile文件中设置变量,并且不要更改.plist文件(或Mavericks上的启动文件)。 大多数OS X窗口应用程序不需要任何自定义环境。 只有当应用程序实际需要特定的环境变量时,我才会更改environment.plist(或在Mavericks上启动的文件)。

这听起来像你想要的是改变environment.plist文件,而不是.bash_profile。

最后一件事,如果你寻找这些文件,我想你不会找到它们。 如果我没有记错,他们并不是我最初安装的狮子。

编辑:这里是一些创建plist文件的说明。

  • 打开Xcode
  • 选择文件 - >新建 - >新建文件...
  • 在Mac OS X下,选择资源
  • 选择一个plist文件
  • 按照其余的提示
  • 要编辑文件,可以按住Control键单击以获取菜单并选择添加行。 然后您可以添加一个键值对。 对于环境变量,关键是环境变量名称,值是该环境变量的实际值。

    一旦plist文件被创建,你可以用Xcode打开它来随时修改它。


    您的“.profile”或“.bash_profile”只是存在于“home”文件夹中的文件。 如果您打开Finder窗口并在收藏夹窗格中单击您的帐户名称,您将看不到它们。 如果你打开一个终端窗口并输入“ls”列出文件...你仍然看不到它们。 但是你可以在终端中使用“ls -a”来找到它们。 或者如果你打开你最喜欢的文本编辑器(比如TextEdit,因为它带有OS X)并执行File-> Open,然后按Command + Shift +。 并点击您的帐户名称(主文件夹),您也会看到它们。 如果你没有看到它们,那么你可以简单地在你最喜欢的文本编辑器中创建一个。

    现在,添加环境变量非常简单,在概念上与Windows非常相似。 在.profile中,每行添加一个变量名称和值,如下所示:

    export JAVA_HOME=/Library/Java/Home
    export JRE_HOME=/Library/Java/Home
    

    等等

    如果您正在修改“PATH”变量,请确保包含已为您设置的系统默认PATH:

    export PATH=$PATH:/path/to/my/stuff
    

    现在这里是一个古怪的部分,你可以打开一个新的终端窗口让新的变量生效,或者你需要键入“.profile”或者“.bash_profile”来重新加载文件并且应用内容到您目前的终端环境。

    您可以使用终端中的“set”命令检查您的更改是否生效。 只需输入“set”(或者如果你更喜欢分页列表,请选择“set | more”),并确保你添加到文件中的内容就在那里。

    至于将环境变量添加到GUI应用程序中,通常不是必需的,我想更多地了解您正在做什么以更好地为您提供答案。


    以下是关于Lion OS 10.7.x中PATH变量的更多信息:

    如果您需要全局设置PATH,PATH由系统按以下顺序构建:

  • 解析文件/private/etc/paths ,每行一个路径
  • 解析文件夹/private/etc/paths.d的内容。 该文件夹中的每个文件都可以包含多个路径,每行一个路径。 加载顺序首先由文件名决定,然后是文件中行的顺序。
  • /private/etc/launchd.conf setenv PATH语句会将该路径附加到已在#1和#2中构建的路径(您不能使用$ PATH引用到目前为止已建立的PATH变量)。 但是,考虑到其他两个选项,在这里设置PATH是完全没有必要的,尽管这是可以为所有用户设置其他全局环境变量的地方。
  • 这些路径和变量由所有用户和应用程序继承,因此它们是真正的全局 - 注销并且不会重置这些路径 - 它们是为系统构建的,并且是在任何用户有机会登录之前创建的,所以对这些进行更改需要系统重新启动才能生效。

    顺便说一句,OS 10.7.x Lion的干净安装没有我可以找到的environment.plist ,所以它可以工作,但也可能会被弃用。

    链接地址: http://www.djcxy.com/p/81909.html

    上一篇: Set environment variables on Mac OS X Lion

    下一篇: How to control the line spacing in UILabel