macOS의 다양한 터미널 애플리케이션에서 다양한 ZSH 프로필을 사용하고 싶습니다. 예를 들어 iTerm에서 일부 프롬프트 구성 A가 있는 프로필을 사용하고, Terminal.app에서 다른 별칭 집합이 있는 프로필을 사용하고, IDE(VS Code, IntelliJ 등)의 통합 터미널 내에서 다른 구성 파일을 사용합니다.
터미널 응용 프로그램을 사용하면 사용자는 "쉘 열기" 명령을 지정할 수 있습니다. 예를 들어 /bin/zsh
내 경우에는 이것이 기본값이었습니다. 다른 터미널 응용 프로그램에 대한 올바른 구성으로 다른 ".zshrc" 파일 설정이 있습니다. 예를 들어 "vscode.zshrc", "iterm.zshrc", "intellij.zshrc" 및 "bestconfigever.zshrc"입니다.
어떻게 이를 달성할 수 있나요?
답변1
(상위 프로세스의 명령 이름 가져오기)를 사용하여 ps -o comm= -p $PPID
zsh라는 프로그램을 확인할 수 있습니다.
TERM
환경 변수를 확인할 수도 있지만 많은 터미널 에뮬레이터는 xterm
대부분 xterm과 호환되므로 환경 변수를 설정합니다. IDE 통합 터미널 설정은 TERM
해당 터미널의 기능에 따라 다릅니다. 예를 들어, Emacs는 TERM=dumb
in M-x shell
(Emacs가 버전 기능에 대한 제어권을 유지하는 간단한 명령줄)을 사용하지만 TERM=eterm-color
in M-x term
(완전한 터미널 에뮬레이터)을 사용합니다.
일부 애플리케이션은 환경 변수를 설정합니다.무루가 지적했듯이아이템 세트 ITERM_PROFILE
. 셸에서 다른 터미널 에뮬레이터를 시작하면 두 번째 에뮬레이터의 셸은 첫 번째 에뮬레이터의 변수를 상속합니다. 따라서 $ITERM_PROFILE
상위 프로세스가 Iterm인지 확인한 후에만 설정하기를 원할 것입니다 .
대안적이거나 보완적인 접근 방식은 호출 프로그램이 작업을 수행하도록 하는 것입니다. Zsh는 디렉토리에서 구성 파일을 읽 $ZDOTDIR
거나 설정되지 않은 경우 홈 디렉토리로 돌아갑니다. 기본 설정을 적용하고 일부 수정하려는 경우 다른 디렉터리에서 ZDOTDIR
로드 할 수 있습니다.$HOME/.zshrc
.zshrc