Mac OS X 10.9 - 设置永久环境变量

时间:2014-03-19 10:23:32

标签: macos bash environment-variables osx-mavericks

如何在Mac OS X 10.9中设置永久环境变量(即每次启动新的终端会话时不需要导出的变量)?我已经找到了许多关于修改我的.bash_profile.profile的答案,但是这些选项似乎都不是永久解决方案 - 只是暂时的。我尝试设置的变量是MULE_HOME。我的bash配置文件中有以下行:

export MULE_HOME=$(/opt/mule-standalone-3.4.0)

然而,当我启动终端时,我得到以下行(不确定这是否是正常行为?):

-bash: /opt/mule-standalone-3.4.0: is a directory

运行简单的env命令将返回以下内容:

TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/fc/68bqp4jj411gynj5qvwhq6z1shs1fy/T/
Apple_PubSub_Socket_Render=/tmp/launch-xKtkql/Render
TERM_PROGRAM_VERSION=326
TERM_SESSION_ID=E97BFE4B-AF85-4933-B252-0883CC085349
USER=dan
SSH_AUTH_SOCK=/tmp/launch-rEmTWW/Listeners
__CF_USER_TEXT_ENCODING=0x730C85DE:0:0
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
__CHECKFIX1436934=1
PWD=/Users/dan
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
LANG=en_GB.UTF-8
MULE_HOME=
SHLVL=1
HOME=/Users/dan
LOGNAME=danwiseman
_=/usr/bin/env

为了解决这个问题,我每次开始新的终端会议时都要输入{​​{1}},虽然不费劲,但有点不方便。我在这里做错了什么导致变量只能暂时设置?提前谢谢。

6 个答案:

答案 0 :(得分:41)

这样做非常简单快捷。首先从终端创建〜/ .bash_profile

touch ~/.bash_profile

然后

open -a TextEdit.app ~/.bash_profile

添加

export TOMCAT_HOME=/Library/Tomcat/Home

将文档保存在TextEdit中,您就完成了。

答案 1 :(得分:40)

删除$(...)位,这将尝试在括号内执行命令并将$MULE_HOME设置为它产生的任何内容。在您的情况下,/opt/mule-standalone-3.4.0不是可执行文件,因此您将收到错误。

export MULE_HOME=/opt/mule-standalone-3.4.0

并使用~/.bashrc而不是~/.bash_profile

编辑:看来您应该在~/.bash_profile脚本中设置环境变量,而不是~/.bashrc脚本。

答案 2 :(得分:4)

或者,如果您希望图形应用程序可以看到您的环境变量,也可以将以下命令添加到.bash_profile。在Mac OS X中,图形应用程序不会继承.bash_profile配置:

launchctl setenv MYPATH myvar

答案 3 :(得分:3)

您可以将导出声明放在~/.bashrc

答案 4 :(得分:1)

苹果似乎一直在改变这样做的方式。这全都与上下文有关。一种方法不一定能奏效,而另一种方法却不一定。我需要它在IDE中工作,这里提到的bash文件(Linux风格)都没有做到这一点。与Windows和Linux相比,GUI应用程序当前永久遵守此方法的方法超级复杂!

简而言之,您已经将大量丑陋的XML写入plist文件中以运行某些bash。这进入您的“启动代理”目录,即~/Library/LaunchAgents/my.startup.plist。这是关于该主题的另一个Stack Exchange线程:

https://apple.stackexchange.com/questions/106355/setting-the-system-wide-path-environment-variable-in-mavericks

这将为您提供完整的复制和粘贴,您可以进行调整以设置您的特定变量。

答案 5 :(得分:0)

  1. 转到主目录(如果没有)cd ~
  2. 打开 .bash_profile 文件 vi .bash_profile 或创建(如果不存在)touch ~/.bash_profile
  3. 编辑文件 export PATH=$PATH:add-your-path-here 并保存并重新启动终端以查看效果。检查 echo $PATH 以查看是否添加了路径或检查您安装的软件包的版本。