我正在尝试自定义我的zsh提示符,并且想要每次生成提示符时使用git命令评估一个函数。我正在使用setopt PROMPT_SUBST
,但它似乎不起作用。这是我的zshrc文件:
setopt PROMPT_SUBST
autoload -U colors && colors # Enable colors
# Show Git branch/tag, or name-rev if on detached head
parse_git_branch() {
echo "PARSING GIT BRANCH"
(git symbolic-ref -q HEAD || git name-rev --name-only --no-undefined --always HEAD) 2> /dev/null
}
prompt() {
echo -n "%/"
echo "$(git status)"
}
PS1="$(prompt)"
这是我的setopt
输出结果:
interactive
login
monitor
nonomatch
promptsubst
shinstdin
zle
{ git symbolic-ref -q HEAD || git name-rev --name-only --no-undefined --always HEAD; } 2>/dev/null
- 这样你就不会产生子shell开销了。 - Charles Duffy