shell 에서 PATH, LD_LIBRARY_PATH 설정하는 Shell 호출시 미작동

poplike의 이미지

안녕하세요

Shell Script 로 Install Package 를 만들고 있습니다.

모든 과정이 끝난 후에

PATH, alias, LD_LIBRARY_PATH 등등

시스템 환경 변수들을 설정해 놓는 Shell 이 따로 있는데

Install Shell 에서 Install 이 성공적으로 끝나면 시스템 환경 설정 Shell 을 호출 하도록 되어 있습니다.

절대 경로로 호출을 하도록 되어 있구요.

sh -x 로 결과를 봐도 분명 호출한걸로 보입니다.

하지만 작동을 하지 않네요.

터미널 콘솔에서 직접 환경 설정 shell 을 호출해보면 정상적으로 PATH도 먹고 LD_LIBRARY_PATH 도 분명 잘 되는데

Shell 에서 Shell 을 호출하면 왜 안될까요?

install.sh

/home/setpath.sh

setpath.sh

export PATH=/home:등등등
export LD_LIBRARY_PATH=등등등
alias vi=vim

위와 같은 형식으로 호출을 합니다.

환경설정 쉘을 /etc/profile.d/에 소프트 링크로 걸어 놓으면

터미널 재접속시 잘 작동합니다.

-------------------------------------

2차 질문

source 를 쉘안에서 실행 하기 때문에 해당 쉘에서만 변수가 세팅되는거 같군요

환경 변수를 실제 사용중인 터미널까지 적용을 하려면

어떻게 실행하여야 할까요?

eseo의 이미지

쉘을 호출할 때, source 를 사용해 보세요

source /home/setpath.sh

---
배려하는 마음을 갖자.

poplike의 이미지

source 로 불러와도 안되더라구요 ㅠㅠ

eseo의 이미지

정확한 예시가 없어 잘은 모르겠지만, 역시 source 로 해결하면 될것처럼 보이는데요? :)

Quote:

2차 질문

source 를 쉘안에서 실행 하기 때문에 해당 쉘에서만 변수가 세팅되는거 같군요

환경 변수를 실제 사용중인 터미널까지 적용을 하려면

어떻게 실행하여야 할까요?

install.sh 자체도 source 로 호출해야 현재 쉘 환경에서 실행이 됩니다.

source install.sh

보다 자세한 사항은 man source 로 확인해 보세요.

---
배려하는 마음을 갖자.