모든 환경 변수를 제거하고 rcfile을 로드합니다.

모든 환경 변수를 제거하고 rcfile을 로드합니다.

여러 환경 세트를 실행해야 합니다. 이를 위해 두 개의 bashrc 파일 세트가 있으며 bashrc_a시작 bashrc_bbashrc_amake를 통해 .bashrc실행합니다 .

source bashrc_a

환경 에서 으로 bashrc_a전환해야 하는데 환경 변수를 환경 에 유지하고 bashrc_b싶지 않습니다 . 이를 위해 나는 노력했다bashrc_abashrc_b

env -i bash --rcfile bashrc_b

그런데 문제는 이 경우에는 내가 진다는 것이다.모두bashrc_a.I don't have HOME, I don't have PATH등 의 환경 변수.

내가 시도한 또 다른 것은

env -i bash --login --rcfile bashrc_b

하지만 이렇게 하면 로그인 쉘이 파일을 찾은 ~/.bashrc다음 파일을 찾고 , 파일을 에서 제거했기 bashrc_a때문에 도움이 되지 않습니다.TERMenv -i

그래서 내 질문은, 어떻게 해야 합니까?제거하다 bashrc_a그리고 로드 bashrc_b?

답변1

설명으로 볼 때 귀하에게는 없는 것 같습니다.실제로bashrc_b에서 환경을 로드하고 싶습니다 bashrc_a.

당신이 가정원하지 않는다소스 또는 bashrc_a또는에서.bashrc_b.bashrc.bash_profile

  1. bash쉘을 정상적으로 시작하십시오.
  2. bashrc_a환경을 시작합니다 bash --rcfile bashrc_a.
  3. bashrc_b환경을 전환하고 싶다면
    1. 먼저exit
    2. bash --rcfile bashrc_b

네가 원한다면유지하다주변 환경을 bashrc_a확인한 다음 다른 터미널을 열고 실행하십시오 bash --rcfile bashrc_b.

또 다른 옵션은 rc각 환경에 해당하는 "제거" 파일을 작성하는 것입니다. 이 두 파일은 환경을 설정 해제하거나 재설정하여 bashrc_x해당 파일에서 수행한 모든 작업을 취소합니다. 그러면 source bashrc_a작업을 수행 할 수 있습니다 (또는 소스 코드 만 있으면 됩니다 ).source unbashrc_asource bashrc_bbashrc_bunbashrc_a

그러나 이를 작성하고 최신 상태로 유지하는 것은 어려울 수 있습니다.

관련 정보