0

根据这里的帖子,例如在 OS X 中设置环境变量?,对于 Mountain Lion,如果不是早期版本的 OS X,在系统级别设置环境变量的唯一方法是使用(或创建)一个包含以下命令的文件 /etc/launchd.conf:

setenv CATALINA_BASE /opt/local/share/java/tomcat6

(这似乎确实按预期工作。)

如果是这样,如何通过引用其他东西的值来做到这一点,例如,设置 JAVA_HOME?在 /etc/launchd.conf 我试过

setenv JAVA_HOME $(/usr/libexec/java_home)

但是如果我运行,则在终端中

echo $JAVA_HOME

我只是按字面意思返回 $(/usr/libexec/java_home)。

相比之下,如果我将相同的 setenv JAVA_HOME $(/usr/libexec/java_home) 命令放入我的 ~/.profile 中,那么 echo $JAVA_HOME 的结果就是引用的实际值,即 /Library/Java/JavaVirtualMachines/jdk1 .7.0_15.jdk/内容/主页。

那么我应该如何修改 /etc/launchd.conf 中的 setenv 命令以使其给出第二个参数的而不是字面的第二个参数?

4

1 回答 1

0

If you need to append to the existing path, you can, from the terminal, do something like "echo setenv PATH $PATH:/path_addition >> /etc/launchd.conf" The launchd.conf can't, itself, contain the variable, but if you know the values you want to use before hand, you can use that to inject them. Alternately, create a separate script that does something similar for you.

于 2013-03-17T06:53:52.190 回答