쉘 환경을 재설정하는 방법은 무엇입니까?

쉘 환경을 재설정하는 방법은 무엇입니까?

이 질문은 한동안 나를 괴롭혔지만, 답을 찾은 것 같습니다.환경 관찰자, 불행히도 Bash에서만 작동합니다. 저는 zsh를 사용합니다.

env-watcher가 수행하는 작업을 어느 정도 복제하고 싶지만 셸을 클린 부팅 단계로 재설정하는 명령이 있는지 알아야 합니다.

예를 들어 다음과 같은 워크플로를 원합니다.

source some-functions
alias another-thing
export SVN_EDITOR=vim
RESET-ZSH # none of the above are valid any more

그런 본질적인 가능성이 있는 걸까, 아니면 나는 나비를 쫓고 있는 걸까?

답변1

직접 이동하면 exec zsh새로운 zsh가 제공되고 init 기능이 다시 실행됩니다. exec zsh -l"로그인 쉘" 상태를 유지하려면 zsh에 로그인 해야 합니다 . 명령 기록을 얼마나 잘 저장하는지 모르겠습니다. (나에게는 효과가 있는 것 같지만, 다른 터미널에서 여러 셸을 사용하는 경우 두 셸 기록 사이에 "혼선"이 발생할 수 있습니다.)

답변2

내보낸 환경 변수를 실행 취소하려면 env명령을 사용하면 됩니다 env -i zsh.  env인자로 주어진 명령어를 실행하여 -i깨끗한 환경을 제공합니다.

구성에 따라  / 를  -l추가 하여 로드 해야 할 수도 있고, 쉘이 시작 파일을 찾을 수 있는 위치를 알 수 있도록 환경을 "부트스트랩"해야 할 수도 있습니다 . 전체적으로 보면 다음과 같습니다.zshbash.profile$HOME

env -i HOME="$HOME" zsh -l

관련 정보