여러 환경 세트를 실행해야 합니다. 이를 위해 두 개의 bashrc 파일 세트가 있으며 bashrc_a
시작 bashrc_b
시 bashrc_a
make를 통해 .bashrc
실행합니다 .
source bashrc_a
환경 에서 으로 bashrc_a
전환해야 하는데 환경 변수를 환경 에 유지하고 bashrc_b
싶지 않습니다 . 이를 위해 나는 노력했다bashrc_a
bashrc_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
때문에 도움이 되지 않습니다.TERM
env -i
그래서 내 질문은, 어떻게 해야 합니까?제거하다 bashrc_a
그리고 로드 bashrc_b
?
답변1
설명으로 볼 때 귀하에게는 없는 것 같습니다.실제로bashrc_b
에서 환경을 로드하고 싶습니다 bashrc_a
.
당신이 가정원하지 않는다소스 또는 bashrc_a
또는에서.bashrc_b
.bashrc
.bash_profile
bash
쉘을 정상적으로 시작하십시오.bashrc_a
환경을 시작합니다bash --rcfile bashrc_a
.bashrc_b
환경을 전환하고 싶다면- 먼저
exit
bash --rcfile bashrc_b
- 먼저
네가 원한다면유지하다주변 환경을 bashrc_a
확인한 다음 다른 터미널을 열고 실행하십시오 bash --rcfile bashrc_b
.
또 다른 옵션은 rc
각 환경에 해당하는 "제거" 파일을 작성하는 것입니다. 이 두 파일은 환경을 설정 해제하거나 재설정하여 bashrc_x
해당 파일에서 수행한 모든 작업을 취소합니다. 그러면 source bashrc_a
작업을 수행 할 수 있습니다 (또는 소스 코드 만 있으면 됩니다 ).source unbashrc_a
source bashrc_b
bashrc_b
unbashrc_a
그러나 이를 작성하고 최신 상태로 유지하는 것은 어려울 수 있습니다.