쉘 환경을 재설정하는 방법?


25

이 문제는 잠시 동안 나를 괴롭 혔으며 EnvWatcher를 통해 내 대답을 찾았다 고 생각했지만 불행히도 Bash에서만 작동합니다. 그리고 나는 zsh를 사용합니다.

env-watcher가 수행하는 작업을 적은 수준으로 복제하고 싶지만 쉘을 깨끗한 시작 단계로 재설정 할 수있는 명령이 있는지 알아야합니다.

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

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

그러한 가능성이 내장되어 있습니까, 아니면 나비를 쫓고 있습니까?

답변:


32

그냥 exec zshzsh를 제공하고 init 함수를 다시 실행할 수 있습니다. exec zsh -l"로그인 쉘"상태를 유지하려면 로그인 zsh 가 필요 합니다. 명령 기록을 얼마나 잘 보존하는지 잘 모르겠습니다 (제대로 작동하는 것 같지만 다른 터미널에서 여러 쉘을 사용하는 경우 두 쉘 기록 사이에 '누화'가 발생할 수 있습니다)


4
내 보낸 환경 변수를 취소하지 않습니까? (init 파일에 의해 설정되는 것이 재설정
될지라도

아마 그렇지 않을 것입니다. 쉘에서 일시적으로 설정 한 것으로 환경 변수를 생각하지 않았기 때문에 그 측면을 고려하지 않았습니다.
Random832

15

내 보낸 환경 변수를 실행 취소하려면 env명령을 사용할 수 있습니다 env -i zsh. env인수로 제공된 명령을 실행하고 -i깨끗한 환경을 제공합니다.

구성에 따라, 당신은 추가해야 할 수도 있습니다 -lzsh /  bash당신의로드하려면 .profile, 당신은 또한 당신의 환경 "부트 스트랩"해야 할 수도 $HOME있으므로 쉘이 알고있는 경우 시동 파일을 찾을 수 있습니다. 모두 다음과 같습니다.

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

1
당신은 몇 가지 다른 사람을 필요로 같은 수 TERMDISPLAY.
G-Man, 'Reinstate
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.