저는 이를 zsh
기본 셸로 사용하고 .zshrc
환경 변수를 수정하는 데 사용합니다. gvim
터미널에서 실행 하면 모든 것이 정상이지만 바탕 화면 아이콘을 사용하여 gvim을 실행하면 환경 변수가 사라집니다. (그냥 지우면 :shell
작동하지만 :!
명령은 작동하지 않습니다)
환경 변수를 이동하려고 시도했지만 .zprofile
성공하지 못했습니다. 이동하면 작동 하지만 읽기가 없기 .profile
때문에 변수를 다시 복사해야 합니다.zsh
.profile
쉘의 내부 처리에 대해서는 잘 모릅니다 gvim
. 명령 에서 읽 .zshrc
거나 사용할 수 있나요 ?.zprofile
:!
노트:시스템 을 사용하고 있습니다 ubuntu
. 운영 체제와 관련된 모든 우아한 솔루션도 환영합니다.
답변1
.zshrc
내 환경 변수를 수정하기 위해
이것이 문제의 근본 원인입니다. .zshrc
대화형 셸 세션을 위한 시작 파일입니다. 환경 변수를 설정하는 대신 쉘 설정을 지정하려면 이를 사용하십시오. 환경 변수는 일반적 .profile
으로 세션 파일에 설정됩니다..bashrc의 대안(해당되는 사항은 .bashrc
모두 적용됩니다 .zshrc
.)
zsh가 로그인 쉘인 경우 이를 읽지 않습니다 ~/.profile
. ~/.zprofile
터미널 아마도 시스템이 이미 설정된 방식일 것입니다. 그러나 더 정확한 정보 없이는 "작동하지 않는" 것이 무엇인지 말하기는 어렵습니다./bin/sh
SHELL=$(command -v zsh)
~/.zprofile
로그인 쉘이 zsh인 경우 다음 행을 ~/.zprofile
읽으십시오 .profile
.
emulate ksh -c '. ~/.profile'
일반적 . ~/.profile
으로 zsh와 Bourne 스타일 쉘 간의 비호환성은 .profile
.
답변2
대화형 또는 로그인 셸이 아닌 경우 . ~/.zshenv
다음은 "파일 시작/닫기" 섹션에서 가져온 것입니다 zshall(1)
.
Commands are then read from $ZDOTDIR/.zshenv. If the shell is a login
shell, commands are read from /etc/zsh/zprofile and then $ZDOT-
DIR/.zprofile. Then, if the shell is interactive, commands are read
from /etc/zsh/zshrc and then $ZDOTDIR/.zshrc. Finally, if the shell
is a login shell, /etc/zsh/zlogin and $ZDOTDIR/.zlogin are read.