답변1
확실하게 하다prompt_subst
옵션열렸습니다. 필요한 경우 다음 줄을 다음 줄에 추가하세요 ~/.zshrc
.
setopt prompt_subst
이는 프롬프트가 표시될 때마다 zsh가 프롬프트 문자열을 다시 평가하도록 지시합니다. 그런 다음 필요에 따라 할당하십시오 PS1
(또는 테마에서 사용되는 다른 변수를 프롬프트하십시오).
PS1='${PWD/#$HOME/~}'
작은따옴표는 $
예를 들어 변수를 설정할 때 특수 문자가 평가되지 않도록 보호합니다.
답변2
zsh에서는 precmd
각 프롬프트 전에 무엇이든 할 수 있습니다(예: 변수 설정).
function precmd() {
current_git_branch=`git rev-parse --abbrev-ref HEAD`
}
http://zsh.sourceforge.net/Doc/Release/Functions.html
이는 원래 질문만큼 현재 디렉토리에 필요하지는 않지만 다른 상황에서 이 문제를 찾는 사람에게는 도움이 될 수 있습니다.
(precmd는 zsh에만 해당됩니다. bash에는 $PROMPT_COMMAND
.)
답변3
좋아요,
난 그냥 내 $
표지판을 탈출해야합니다. 예를 들어:
${PWD/#$HOME/~}
\${PWD/#\$HOME/~}
답변4
%
zsh에서는 이를 위해 이스케이프 문자를 사용해야 합니다 . 예를 들어 ${PWD/#$HOME/~}
(귀하의 예에서와 같이) 대신 %~
.
읽고 zshall(1)
찾아보세요빠르고 쉬운 탈출(여기서 인용이 너무 깁니다).