zsh가 OS X에서 내 프롬프트를 잘못 나열하는 이유는 무엇입니까?

zsh가 OS X에서 내 프롬프트를 잘못 나열하는 이유는 무엇입니까?

zsh의 프롬프트가 왜 다음과 같은지 알아내려고 노력 중입니다.

zsh 프롬프트 예

(텍스트 형식):

\[\]\u\[\] at \[\]\h\[\] in \[\]\w\[\]$(__git_ps1) \[\]$(git_diff)\n\[\]($(date +'1:MikesMBP.local ')) \[\]$\[\]

bash에서처럼 zsh를 호출하기 전에 내 비밀번호와 사용자 이름을 올바르게 나열하고 싶습니다. 이것은 내 .zshrc입니다.

# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt appendhistory autocd beep extendedglob nomatch notify
bindkey -v
# End of lines configured by zsh-newuser-install
# The following lines were added by compinstall
zstyle :compinstall filename '/Users/mike/.zshrc'

autoload -Uz compinit
compinit
# End of lines added by compinstall

이는 zsh를 처음 시작할 때 생성되는 표준 구성입니다. 내장된 OS X zsh와 homebrew의 zsh를 사용해 보았지만 둘 다 동일한 오류가 발생했습니다. 무엇이 원인인지 아시나요?

답변1

이전 셸에서 변수 PS1을 내보냈으므로 zsh는 이를 상속하여 프롬프트를 표시하는 데 사용합니다. 이것이 PS*와 같은 셸 매개변수를 내보내면 안 되는 이유입니다. PS1을 내보내지 않으면 zsh는 .zshrc에서 PS1을 변경하거나 프롬프트 시스템을 사용할 때까지 기본 프롬프트를 사용합니다.

답변2

배쉬 사용\[그리고\]프롬프트에서 인쇄할 수 없는 부분을 표시합니다.

동일한 목적 %{으로 zsh를 사용하십시오 .%}

이것xterm 매뉴얼이에 대해 언급한 부분이 있습니다.

관련 정보