在 shell 脚本中更新环境变量

在 shell 脚本中更新环境变量

我正在尝试更新第三方 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_HOMEJAVA_HOMEPATH=$JAVA_HOME:$PATHJAVA_HOME/etc/bashrcJAVA_HOME

相关内容