설명: ZSH 파일 시작/닫기

설명: ZSH 파일 시작/닫기

방금 macOS Catalina로 업그레이드했고 새 셸은 ZSH입니다. 그래서 새로운 시작이므로 bash처럼 별칭, 함수 등을 사용하여 쉘 환경을 설정해 보았습니다. 내가 그랬을 때문서

그런 다음 에서 명령을 읽으십시오 $ZDOTDIR/.zshenv. 쉘이 로그인 쉘인 경우 에서 명령을 읽은 /etc/zprofile다음 명령을 읽습니다 $ZDOTDIR/.zprofile. 그런 다음 셸이 대화형이면 /etc/zshrc및 에서 명령을 읽습니다 $ZDOTDIR/.zshrc. 마지막으로 쉘이 로그인 쉘이라면 를 /etc/zlogin읽어보세요 $ZDOTDIR/.zlogin.

헷갈리는 부분...

  • 로그인 쉘인 경우 /etc/zprofile다음을 읽습니다.$ZDOTDIR/.zprofile
  • 마지막으로 쉘이 로그인 쉘이라면 를 /etc/zlogin읽어보세요 $ZDOTDIR/.zlogin.

Mac에 SSH로 연결하면 로그인 셸이 됩니다. 이제 구성해야 하는데 어떤 파일을 수정해야 합니까(또는 수정해야 합니까?) 이 질문에 답하는 것이 .zprofile.so와 .so의 차이점을 이해하는 데 도움이 될 것이라고 생각했습니다. .zlogin여기에 있는 지침이 도움이 될 것입니다.

답변1

파일 *profile*login파일은 동일한 조건에서 읽혀집니다. 즉, 쉘이 로그인 쉘인 경우에만 해당됩니다(그리고 와 같은 옵션 없이 호출된 경우 no_rcs). 호출되는 순서는 파일에 따라 다르므로 매뉴얼에는 별도로 나열되어 있습니다 *rc.

이름 *profilesh,본 쉘(대부분 ksh, bash, dash 등은 추가 기능을 추가하여 다시 구현한 것입니다.) 이름은 *login다음에서 유래합니다.시추. Zsh는 sh와 비슷하지만 두 가지 기능을 모두 갖고 있으므로 두 이름을 모두 지원하는 것 같습니다.

*profile일반적으로 또는 를 사용하면 문제가 되지 않습니다 *login. 그러나 *profile파일의 장점은 이전에 읽혀진다는 것입니다 . 따라서 콘텐츠가 의 설정에 따라 달라지는 *rc경우 (예를 들어 에 추가한 디렉터리에 있는 프로그램을 호출하는 경우 ) 대신 파일을 사용해야 합니다.*rc*profile.zshrc.zprofile$PATH*profile*login

따라서 로그인 시간 구성(보통 주로 환경 변수)을 에 넣고 ~/.profile대화형 구성(프롬프트, 완성, 키 바인딩, 별칭 등)을 ~/.zshrc. 추가 시작 파일이 필요한 경우는 거의 없습니다.

관련 정보