我正在zsh用作外壳程序,并且正在尝试配置我的环境。
我通常$JAVA_HOME通过创建一个文件来定义变量:
/etc/profile.d/java.sh
具有以下内容
export JAVA_HOME=/path/to/jdk
export PATH=$JAVA_HOME/bin:$PATH
然后我注销并重新登录,一切正常,但是由于某种原因PATH未设置变量。它可以识别JAVA_HOME,但不能识别新的PATH终端,请参见以下终端片段:
~ echo $JAVA_HOME
/usr/lib/jvm/jdk1.8.0_05
~ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
我通过尝试从jvm运行命令来确认
~ java -version
zsh: command not found: java
在PATH不包括$JAVA_HOME因为它应该。还有什么我应该检查的吗?
我检查了是否可以跑步:
source /etc/profile.d/java.sh
都可以正确运行,并且可以按照我的变量进行设置,但是脚本不应该/etc/profile.d自动运行吗?
~/.profile和放置变量?可能是该PATH位置在的其他位置被覆盖了/etc/profile.d/。