저는 Mavericks를 실행하는 MacBook의 iTerm에서 [oh-my-zsh]를 사용하고 있습니다.
로드 시 .zsh 파일을 가져오도록 iTerm을 설정했는데 대부분의 경우 작동합니다.
cd && source .zsh
제외하고. 때로는 세션 중에도 환경 변수와 별칭을 잊어버리는 경우가 있습니다. 이런 일이 발생하면 기본적인 것조차 mvn
"잊혀질" 수 있습니다.
이것이 iTerm, zsh 또는 oh-my-zsh의 문제인지 확실하지 않습니다. 어떤 아이디어가 있나요?
답변1
~에 따르면zsh 사용자 가이드, 별칭은 다음에 정의되어야 합니다 ~/.zshrc
.
시작 파일에 정의할 별칭이 .zshrc라고 생각할 수도 있습니다.
또한 깨끗하게 유지하기 위한 팁도 제공됩니다 ~/.zshrc
.
저는 대화형 셸에서만 별칭을 사용하는 경향이 있으므로 .zshrc에서 별칭을 정의하지만, 별칭을 더 광범위하게 사용하는 경우 .zshenv를 사용하는 것이 좋습니다. 실제로 .zshrc를 깨끗하게 유지하기 위해 모든 별칭을 .aliasrc라는 별도의 파일에 보관하고 .zshrc에는 다음이 포함됩니다.
if [[ -r ~/.aliasrc ]]; then . ~/.aliasrc fi
읽을 수 있는 파일 ~/.aliasrc가 있는지 확인하고, 있으면 일반 시작 파일과 똑같은 방식으로 실행합니다.
따라서 이라는 파일을 생성하고 ~/.aliasrc
..
source
~/.zshrc
이것동일한 소스환경 변수는 다음 위치에 위치하는 것이 좋습니다 ~/.zshenv
.
이 콘텐츠를 넣는 가장 쉬운 장소는 .zshenv입니다. 따라서 이름이 붙었습니다. 환경 변수는 셸에서 실행되는 모든 프로그램에 전달되므로 .zlogin 또는 .zprofile에서 정의하는 것으로 충분할 수 있습니다. 그러나 비대화형으로 시작하는 셸은 이러한 프로그램을 실행하지 않으며 다른 가능한 문제도 있습니다. zsh가 아닌 다른 쉘에 의해 시작되는 윈도우 시스템을 사용하거나 쉘 시작 파일을 전혀 실행하지 않는 경우 --- 그렇게 하려면 시스템을 조정해야 합니다. 따라서 .zshenv는 환경 변수를 정의하는 데 시간이 오래 걸리지 않는 가장 안전한 장소입니다. 다른 사람들은 의심할 바 없이 당신에게 정반대의 의견을 주겠지만, 그것이 당신에게 맞는 사람입니다.
답변2
환경 변수를 ~/.zshrc
파일에 넣으면 모든 zsh 세션에서 자동으로 선택됩니다.