我正在尝试更新第三方 shell 脚本中环境变量的值。我的操作系统是 Oracle Linux Server 6.4 版(Red Hat Enterprise Linux Server 6.4 版(圣地亚哥))。
/etc/bashrc
我已经在(对于所有用户)中定义了以下环境变量
JAVA_HOME=/opt/java/jdk1.8.0_45
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
我想为 shell 脚本之一使用不同的 jdk 安装。因此我将以下几行添加到customscript.sh
JAVA_HOME=/opt/java/jdk1.7.0_79
export JAVA_HOME
echo "PATH variable is $PATH"
... #other script code
customscript.sh 仍然默认使用旧的环境变量值PATH
。上述 echo 命令的输出显示它仍然引用旧的JAVA_HOME
变量值。
我可能会错过什么?
答案1
您通过解释当时的值/etc/bashrc
来设置。如果以后发生变化,它不会被重新解释。您需要在第 3 方 shell 脚本中添加一行内容:以便将 1.7放入1.8之前的路径中。PATH
$JAVA_HOME
JAVA_HOME
PATH=$JAVA_HOME:$PATH
JAVA_HOME
/etc/bashrc
JAVA_HOME