~/.bash.rc에서 변수를 소싱하고 로그아웃 시에도 유지

~/.bash.rc에서 변수를 소싱하고 로그아웃 시에도 유지

저는 CollabNet의 SVN 클라이언트 및 GNOME Keyring Daemon(일명 GKD)을 사용하여 비대화형의 안전한 cron 기반 SVN 체크아웃을 가능하게 하기 위해 여러 bash 스크립트를 작성해 왔으며 스크립트 중 하나는 GKD를 시작하고 출력을 수집하도록 설계되었습니다. , 기본적으로 몇 가지 환경 변수를 저장하고 스크립트가 실행되는 사용자의 셸에서 해당 변수를 내보냅니다. ~/.bashrc에서 bash 스크립트를 소싱하여 사용자 로그인 시 모든 작업을 수행합니다.

문제는 해당 환경 변수가 내보내지지 않는다는 것입니다. 스크립트가 완료 시 종료되는 하위 셸에서 실행되고 환경 변수가 영원히 설정 해제되기 때문입니다.

문제는 이러한 변수를 어떻게 영구적으로 설정할 수 있느냐는 것입니다. 즉, 로그인-로그아웃 세션 전반에 걸쳐 내보내지고 그대로 유지된다는 의미입니다.

답변1

로 시작하는 홈 디렉토리(또는 다른 곳)의 다른 쉘 스크립트에 변수를 에코하면 됩니다. (따라서 기본 ls 보기에서는 보이지 않습니다). 시작 시 이 쉘 스크립트를 실행하도록 .bashrc를 수정하십시오.

예:

foo='What the heck'; echo "foo='$foo'" > ~/.startup.sh

그런 다음 이것을 ~/.bashrc에 넣으면 완료됩니다.

. ~/.startup.sh

관련 정보