我正在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/
。