当有人说“编辑你的。plist文件”或“你的。profile”或“。Bash_profile”等等,这让我很困惑。我不知道这些文件在哪里,如果我必须这样做,如何创建它们,等等,以及为什么似乎有这么多不同的(为什么?)他们做不同的事情吗?)
所以,谁能非常耐心地向以前的Windows用户(迫切地想要更加熟悉最初有点困惑的OS X世界)解释如何一步一步地做到这一点?
我需要为GUI应用程序和命令行应用程序设置变量,目前是为需要变量的ant脚本设置变量,但很可能还有其他需求。
请注意,我也有Lion,因为你在谷歌上得到的许多答案似乎已经过时了…
还要注意,我几乎没有使用终端的经验。我愿意学习,但请为一个新手解释一下……
对我来说有用的是用我需要的变量创建一个.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。狮子似乎仍然工作,虽然它的最后一次更新是从雪豹时代。这是我个人最喜欢的方法。)
我选择了白痴路线。
将这些添加到/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