15 这适用于bash(parse_git_branch是已定义的函数) export PS1="\$(parse_git_branch)" 但我无法弄清楚中的等效项zsh。 注意:如果我这样做 PROMPT="$(parse_git_branch)" 它似乎可行,但实际上,当我设置提示时,它正在运行命令,这不是重点。 zsh prompt — 丹·罗森斯塔克 source
26 你必须包括 setopt PROMPT_SUBST 在您的中.zshrc,man zshall在“提示扩展”部分中进行了说明: 如果设置了PROMPT_SUBST选项,则首先对提示字符串进行参数扩展,命令替换和算术扩展。 — 阿基拉 source
5 如akira所说,您必须使用提示替代。这是我的早期代码(仍在工作): setopt PROMPT_SUBST PROMPT='$(parse_git_branch)' 或更好 setopt PROMPT_SUBST PROMPT='[$PR_MAGENTA%n$PR_NO_COLOR@$PR_GREEN%U%m%u$PR_NO_COLOR:$PR_RED%2c$PR_NO_COLOR]$(parse_git_branch) %(!.#.$)' — 丹·罗森斯塔克 source