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

所以,谁能非常耐心地向以前的Windows用户(迫切地想要更加熟悉最初有点困惑的OS X世界)解释如何一步一步地做到这一点?

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

请注意,我也有Lion,因为你在谷歌上得到的许多答案似乎已经过时了…

还要注意,我几乎没有使用终端的经验。我愿意学习,但请为一个新手解释一下……


当前回答

我选择了白痴路线。 将这些添加到/etc/profile的末尾

for environment in `find /etc/environments.d -type f`
do
     . $environment
done

创建文件夹/etc/environments 在其中创建一个名为“oracle”或“whatever”的文件,并添加我需要全局设置的东西。

/etc$ cat /etc/environments.d/Oracle

export PATH=$PATH:/Library/Oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=/Library/Oracle/instantclient_11_2
export SQLPATH=/Library/Oracle/instantclient_11_2
export PATH=$PATH:/Library/Oracle/instantclient_11_2
export TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin

其他回答

在Mac OS上设置PATH环境变量

打开终端程序(默认在应用程序/实用程序文件夹中)。 运行以下命令

touch ~/.bash_profile; open ~/.bash_profile

这将在默认文本编辑器中打开文件。

ANDROID SDK为例:

你需要添加路径到你的Android SDK平台工具和工具目录。在我的例子中,我将使用“/Development/android-sdk-macosx”作为SDK的安装目录。增加如下一行:

export PATH=${PATH}:/Development/android-sdk-macosx/platform-tools:/Development/android-sdk-macosx/tools

保存文件并退出文本编辑器。 执行.bash_profile来更新PATH。

source ~/.bash_profile

现在,每次你打开终端程序,你的PATH将包括Android SDK。

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

~/.bash_profile

小牛队更新

OS X Mavericks不使用环境。plist -至少不是OS X windows应用程序。您可以为窗口应用程序使用launchd配置。仍然支持.bash_profile,因为它是终端中使用的bash shell的一部分。

只限狮子和山狮

OS X窗口应用程序从您的环境接收环境变量。plist文件。这可能就是你所说的“。”plist文件”。这个文件位于:

~/.MacOSX/environment.plist

如果你改变你的环境。plist文件,那么OS X windows应用程序,包括终端应用程序,将设置这些环境变量。您在.bash_profile中设置的任何环境变量只会影响您的bash shell。

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

听起来你想要的是改变环境。Plist文件,而不是.bash_profile。

最后一件事,如果你找那些文件,我想你是找不到的。如果我没记错的话,在我最初安装Lion时并没有。

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

打开Xcode Select File -> New -> New File… 在Mac OS X下选择“资源” 选择一个plist文件 按照剩下的提示操作

要编辑该文件,可以通过Control-click获得菜单并选择Add Row。然后可以添加键值对。对于环境变量,键是环境变量名,值是该环境变量的实际值。

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

我选择了白痴路线。 将这些添加到/etc/profile的末尾

for environment in `find /etc/environments.d -type f`
do
     . $environment
done

创建文件夹/etc/environments 在其中创建一个名为“oracle”或“whatever”的文件,并添加我需要全局设置的东西。

/etc$ cat /etc/environments.d/Oracle

export PATH=$PATH:/Library/Oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=/Library/Oracle/instantclient_11_2
export SQLPATH=/Library/Oracle/instantclient_11_2
export PATH=$PATH:/Library/Oracle/instantclient_11_2
export TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin

建议在设置任何环境变量之前检查默认的终端shell,通过以下命令:

$ echo $SHELL
/bin/zsh

如果您的默认终端是/bin/zsh (Z Shell),就像我的情况(个人更喜欢Z Shell)一样,那么您应该在~/中设置这些环境变量。zshenv文件,内容如下(本例中设置JAVA_HOME环境变量,其他情况相同):

export JAVA_HOME="$(/usr/libexec/java_home)"

类似地,上面没有提到的任何其他终端类型,都应该在其各自的终端env文件中设置环境变量。

Your .profile or .bash_profile are simply files that are present in your "home" folder. If you open a Finder window and click your account name in the Favorites pane, you won't see them. If you open a Terminal window and type ls to list files you still won't see them. However, you can find them by using ls -a in the terminal. Or if you open your favorite text editor (say TextEdit since it comes with OS X) and do File->Open and then press Command+Shift+. and click on your account name (home folder) you will see them as well. If you do not see them, then you can create one in your favorite text editor.

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

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

etc.

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

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

现在是奇怪的部分,您可以打开一个新的终端窗口以使新变量生效,或者您需要键入.profile或.bash_profile来重新加载文件,并将内容应用到当前终端的环境中。

您可以在终端中使用“set”命令检查更改是否生效。只需输入set(如果您喜欢分页列表,可以再设置|),并确保您添加到文件中的内容。

至于在GUI应用程序中添加环境变量,这通常是不必要的,我想听到更多关于你正在具体尝试做什么,以便更好地给你一个答案。