쉘 시작 파일을 처리하려고 하는데 왜 내 파일이 etc/zshenv
두 번 실행되는지 이해할 수 없습니다. 모든 시작 파일에 echo 문이 있는데 다음과 같은 결과를 얻습니다.
In /etc/zshenv
In ~/.zshenv for user: davidkennell
In /etc/zshrc
In ~/.zshrc for user: davidkennell
In /etc/zshenv
iTerm2 환경 설정을 통해 zsh를 쉘로 설정하고 Profiles/general
설정에서 다음을 실행하여 쉘을 시작하도록 지시했습니다./usr/local/bin/zsh
답변1
메시지의 순서가 주어지면 콘텐츠 중 일부가 실행 .zshrc
됩니다 /etc/zshenv
. 이는 source /etc/zshenv
또는 다른 zsh 인스턴스에 대한 호출일 수 있습니다 . 비슷한 것을 찾고 있습니다.
. /etc/zshenv
source /etc/zshenv
zsh -c …
zsh /path/to/file
/path/to/file # which starts with #!/usr/bin/env zsh
또는 이들의 변형.
문제의 행은 .zshrc
그 자체에 있을 수도 있고 해당 행이 시작된 다른 파일에 있을 수도 있습니다.
zsh -x
또는 실행하여 zsh -f -x ~/.zshrc
추적에서 문제가 있는 명령을 찾을 수 있습니다. 아마도 소스 코드에서 찾는 것보다 쉬울 것입니다.
zsh 스크립트인 다른 프로그램을 실행하는 경우가 가장 감지하기 어렵습니다. 이를 위해서는 더 쉬울 수도 있습니다.다음에 대한 액세스를 모니터링합니다./etc/zshenv
. 반면에 이런 일이 발생한다면 이는 완전히 정상적인 것이며 이에 대해 취할 수 있는 조치는 없습니다.