타사 셸 스크립트에서 환경 변수의 값을 업데이트하려고합니다. 내 OS는 Oracle Linux Server 릴리스 6.4 (Red Hat Enterprise Linux Server 릴리스 6.4 (Santiago))입니다.
/etc/bashrc
(모든 사용자에 대해) 아래 환경 변수가 이미 정의되어 있습니다.
JAVA_HOME=/opt/java/jdk1.8.0_45
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
쉘 스크립트 중 하나에 다른 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
변수 값을 참조하고 있음을 보여줍니다 .
무엇을 놓칠 수 있습니까?
그 순간의 가치를 해석 하여 /etc/bashrc
세트 . 나중에 변경 될 경우 다시 해석되지 않습니다 . 써드 파티 쉘 스크립트에 다음과 같은 행을 추가하고 싶을 것입니다 : 1.7 이 1.8 이전의 경로에 놓 이도록합니다 .PATH
$JAVA_HOME
JAVA_HOME
PATH=$JAVA_HOME:$PATH
JAVA_HOME
/etc/bashrc
JAVA_HOME
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다