要在mac上设置JAVA_HOME,只需在终端中输入echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
即可。
但是,我只是想知道是否有人可以解释命令的每个部分实际上意味着/做什么?
答案 0 :(得分:1)
~/.bash_profile
是一个私有的,即用于特定用户的bash shell启动文件。换句话说,当您打开shell(命令行)时,shell程序会读取此文件以了解应该对initialize the shell environment执行的操作。
JAVA_HOME
是各种程序用来查找Java二进制文件和其他Java相关文件的环境变量。您可以通过在命令行中执行export JAVA_HOME=$(/usr/libexec/java_home)
来设置变量,但它仅在该shell会话期间有效。
因此,为了使JAVA_HOME
变量在会话之间保持不变,您可以使用~/.bash_profile
将export
命令附加到此文件并在echo
中自动设置它并重定向。 echo
打印一条消息,>>
将输出重定向到~/.bash_profile
文件中。请注意,双倍大于号(>>
) - 表示 追加 ,而不是>
,这意味着 <强>重写强> 的。
为了处理echo
命令的参数&#34;按原样#34;如果不解释它,则参数用双引号括起来并且美元符号被转义(即\$
)。
总而言之,执行命令后,您应该在~/.bash_profile
文件的底部看到以下行(运行cat ~/.bash_profile
以查看文件的内容):
export JAVA_HOME=$(/usr/libexec/java_home)
$(command)
语法用于command substitution,/usr/libexec/java_home
将被执行,其输出将分配给JAVA_HOME
。