Z 쉘이 ~/.zshrc와 ~/.profile을 모두 존중하도록 만드는 방법은 무엇입니까?

Z 쉘이 ~/.zshrc와 ~/.profile을 모두 존중하도록 만드는 방법은 무엇입니까?

저는 Mac에서 Z 쉘을 사용하고 있으며 홈 디렉토리의 .zshrc 및 .profile에 일부 설정이 있습니다.

.profile만 있으면 zsh는 새 세션에서 .profile을 가져옵니다. .profile과 .zshrc가 모두 있으면 zsh는 .zshrc만 가져오고 .profile을 무시합니다.

쉘이 이 두 설정 파일을 존중하도록 하거나 .zshrc에서 .profile을 가져오는 방법이 있습니까?

답변1

Zsh는 일반적 으로 로그인 .zprofile되지 않고 소스로 제공됩니다. .profile( .zshrc대화형 세션에 들어가지 않고 로그인하면 소스를 얻을 수 없습니다.) 그러나 소스를 얻으려고 .profile하고 다른 쉘에 특정한 것(예: bash에 특정한 것)이 없는 경우 다음을 수행할 수 있습니다. 항상 put 파일을 입력 source .profile하세요 .zprofile.

.zshrc로그인 쉘이든 아니든 대화형 쉘이 호출될 때 획득됩니다. .zprofile단, 로그인하지 않은 경우에는 소스를 다시 가져오지 않습니다.

나는 항상 두 파일 중 하나에 원하는 모든 것을 넣고 다른 파일이 이를 제공하도록 할 것입니다. 예를 들어, 모든 별칭과 환경 변수를 my에 저장 .zshrc하고 이 줄은 source $HOME/.zshrcmy에 저장 .zprofile하여 비대화형 로그인 셸에서도 항상 읽을 수 있도록 합니다.

서로에게 먹이를 주지 않도록 주의하세요. 이렇게 하면 분명히 무한 루프가 생성되므로 유혹적입니다.

세 번째 파일을 사용하여 원하는 작업을 수행하고 두 파일 모두 세 번째 파일을 얻도록 할 수도 있습니다.

관련 정보