我不知道为什么echo $ JAVA_HOME返回空白
Abdelmajids-iMac:~ majid$ vi .profile
export PATH=/usr/local/bin:(...)
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load
RVM into a shell session *as a function*
export JAVA_HOME=$(/usr/libexec/java_home)
~
~
Abdelmajids-iMac:~ majid$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
Abdelmajids-iMac:~ majid$ vi .bash_profile
Abdelmajids-iMac:~ majid$ source .bash_profile
-bash: .bash_profile: line 1: syntax error near unexpected token `('
-bash: .bash_profile: line 1: `export PATH=/usr/local/bin:(...)'
Abdelmajids-iMac:~ majid$ echo $JAVA_HOME
Abdelmajids-iMac:~ majid$
Run Code Online (Sandbox Code Playgroud)
陈述export JAVA_HOME=$(/usr/libexec/java_home)似乎不正确;bash将评估$()中的信息并返回空白。
应该是export JAVA_HOME=$(echo /usr/libexec/java_home)或export JAVA_HOME=/usr/libexec/java_home。
$()的用法在此链接中讨论。bash脚本中$ {}和$()之间的区别。