답변:
다음은 각 파일에 포함되는 비 배타적 목록입니다.
.zshenv
항상 소스 이므로 다른 프로그램에서 사용할 수있는 내 보낸 변수가 포함됩니다. 예를 들어, $PATH
, $EDITOR
, 그리고 $PAGER
종종 설정됩니다 .zshenv
. 또한, 당신은 설정할 수 $ZDOTDIR
있는 .zshenv
사용자의 zsh을 구성의 나머지 부분에 대한 대체 위치를 지정할 수 있습니다..zshrc
대화식 쉘 구성을위한 것입니다. setopt
및 unsetopt
명령 을 사용하여 대화식 쉘에 대한 옵션을 설정 합니다. 쉘 모듈을로드하고, 히스토리 옵션을 설정하고, 프롬프트를 변경하고, zle 및 완료를 설정하는 등의 작업을 수행 할 수도 있습니다. 또한 대화식 쉘에서만 사용되는 모든 변수를 설정합니다 (예 :) $LS_COLORS
..zlogin
로그인 쉘 시작시 제공됩니다. 이 파일은 종종를 사용하여 X를 시작하는 데 사용 startx
됩니다. 일부 시스템은 부팅시 X를 시작하므로이 파일이 항상 유용한 것은 아닙니다..zprofile
기본적으로 .zlogin
직전 .zshrc
이 아닌 직전 이 소싱 되는 것을 제외하고 는 동일 합니다. zsh 문서에 따르면, " .zprofile
ksh 팬을위한`.zlogin '의 대안으로 사용된다.이 두 가지를 함께 사용하기위한 것은 아니지만, 원하는 경우 확실히 수행 할 수있다.".zlogout
때로는 터미널을 지우고 재설정하는 데 사용됩니다. 당신은 통과해야 임의 Github에서 사용자의 구성 파일을 각 파일에 포함해야하는지의 더 나은 아이디어를 얻을 수 있습니다.
man zshall
은 참조).
$PATH
에서 설정할 .zshenv
때이 파일 다음에 다양한 다른 파일이 모두 제공되므로이 값을 무시합니다. zsh.org/mla/users/2003/msg00600.html을 참조하십시오 .
$LANG
하고 $LC_ALL
이동?
.zshenv
→ [ .zprofile
로그인] → [ .zshrc
인터랙티브] → [ .zlogin
로그인] → [ .zlogout
가끔]입니다.
내 의견으로는 각 파일에 포함하거나 포함해서는 안되는 목록은 다음과 같습니다.
[매번 읽으십시오]
항상 소스로 제공되므로 자주 업데이트 해야하는 환경 변수를 설정해야합니다 . PATH (또는 관련 상대 경로 )는 전체 세션을 다시 시작하여 업데이트하지 않기를 원하기 때문에 좋은 예입니다. 해당 파일에서 설정하면 터미널 에뮬레이터를 다시 열면 PATH 값이 업데이트 된 새 Zsh 인스턴스가 시작 됩니다.
그러나 Zsh를 시작 하여 -c 옵션 과 함께 단일 명령을 실행하기 위해 (예 : -c 옵션 사용) 에도이 파일을 읽습니다make
. 표준 명령의 기본 동작을 수정하지 않도록주의 해야 합니다 . 예를 들어 별칭을 설정하여 명령 을 사용하는 일부 도구가 손상 될 수 있습니다. 확실히, 당신이하고있는 일을 알고 있기 때문에 금지되지 않습니다.
[로그인시 읽기]
나는 개인적으로 그 파일을 처리 .zshenv
하지만 한 번 설정해야하거나 자주 업데이트 할 필요가없는 명령과 변수를 처리합니다 .
SCONSFLAGS="--jobs=$(( $(nproc) - 1 ))"
데 시간이 걸릴 수 있으므로 명령 (같은 등 ) 을 실행하는 구성입니다 .해당 파일을 수정하면 현재 쉘을 로그인 쉘과 같은 새로운 쉘로 교체하여 구성 업데이트를 얻을 수 있습니다.
exec zsh --login
[대화 형일 때 읽기]
대화식 사용 에만 필요한 모든 것을 여기에 넣었습니다 .
[로그인시 읽기]
이 파일은 비슷 .zshprofile
하지만 이후에 읽습니다 .zshrc
. 현재 쉘이 완전히 설정되어 있다고 생각합니다.
따라서 쉘 동작을 수정하지 않는 외부 명령 (예 : 로그인 관리자)을 시작하는 데 사용합니다.
[로그 아웃시 읽기] [로그인 쉘 내]
여기에서 로그인시 터미널 또는 기타 리소스 설정을 지울 수 있습니다.
.zshenv
.zshenv
.zprofile
.zshrc
.zlogin
.zlogout