在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文件的说明。
要编辑文件,可以按住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
,所以它可以工作,但也可能会被弃用。