当有人说“编辑你的。plist文件”或“你的。profile”或“。Bash_profile”等等,这让我很困惑。我不知道这些文件在哪里,如果我必须这样做,如何创建它们,等等,以及为什么似乎有这么多不同的(为什么?)他们做不同的事情吗?)
所以,谁能非常耐心地向以前的Windows用户(迫切地想要更加熟悉最初有点困惑的OS X世界)解释如何一步一步地做到这一点?
我需要为GUI应用程序和命令行应用程序设置变量,目前是为需要变量的ant脚本设置变量,但很可能还有其他需求。
请注意,我也有Lion,因为你在谷歌上得到的许多答案似乎已经过时了…
还要注意,我几乎没有使用终端的经验。我愿意学习,但请为一个新手解释一下……
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应用程序中添加环境变量,这通常是不必要的,我想听到更多关于你正在具体尝试做什么,以便更好地给你一个答案。
简化的解释
这篇文章/问题有点老了,所以我将回答一个简化版本的OS X Lion用户。
默认情况下,OSX Lion没有以下任何文件:
~ / . bashrc
~ / . bash_profile
~ / . profile
最多,如果您在终端中执行了任何操作,您可能会看到~/.bash_history
它的含义
您必须创建这个文件来设置默认的bash命令(通常在~/.bashrc中)。要做到这一点,可以使用任何类型的编辑器,尽管在终端中更简单:
%> emacs .profile
[from w/in emacs type:] source ~/.bashrc .
[from w/in emacs type:] Ctrl + x Ctrl + s(保存文件)
[from w/in emacs type:] Ctrl + x Ctrl + c(关闭emacs)
%> emacs .bashrc
[从w/in emacs输入/粘贴所有bash命令,保存并退出]
下次退出并重新加载终端时,它应该加载所有bash首选项。另外,将命令分割成有用的文件名通常是个好主意。例如,from within ~/.Bashrc,你应该有一个源~/。Bash_aliases并将所有别名命令放在~/. Bash_aliases中。
对我来说有用的是用我需要的变量创建一个.launchd.conf:
setenv FOO barbaz
这个文件在登录时由launchd读取。你可以添加一个变量'on the fly'到运行的launchd,使用:
launchctl setenv FOO barbaz`
事实上,。launchd。Cond只包含launchctl命令。
以这种方式设置的变量似乎正确地呈现在GUI应用程序中。
如果你碰巧试图以这种方式设置LANG或LC_变量,并且你碰巧使用的是iTerm2,请确保你禁用了你正在使用的概要文件的终端选项卡下的“自动设置区域变量”设置。这似乎覆盖了launchd的环境变量,在我的情况下,设置了一个坏的LC_CTYPE导致远程服务器上的问题(这被传递了变量)。
(环境。plist似乎仍然工作在我的狮子虽然。您可以使用RCenvironment首选项窗格来维护文件,而不是手动编辑它或所需的Xcode。狮子似乎仍然工作,虽然它的最后一次更新是从雪豹时代。这是我个人最喜欢的方法。)