gpt4 book ai didi

git - 为什么我的 bash 提示不更新?

转载 作者:IT王子 更新时间:2023-10-29 00:32:36 25 4
gpt4 key购买 nike

我是 git 的新手,我正在尝试将当前的 git 分支添加到我已经存在的提示中,该提示定义如下:

RESET="\[\017\]"
NORMAL="\[\033[0m\]"
RED="\[\033[31;1m\]"
YELLOW="\[\033[33;1m\]"
WHITE="\[\033[37;1m\]"
SMILEY="${WHITE}:)${NORMAL}"
FROWNY="${RED}:(${NORMAL}"
SELECT="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi"

export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w $(__git_ps1) >${NORMAL} "

我试过了(再次获取我的 .bashrc 文件),它似乎可以工作,但后来我转到另一个分支,它没有更新。如何确保 $(__git_ps1) 未被缓存?

最佳答案

您需要在 $ 上加一个反斜杠,这样它就不会立即展开。 (与 `...` 相比,后者是 $(...) 的另一种写法。)

export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w \$(__git_ps1) >${NORMAL} "

我同意@MikeSep 关于使用单引号的观点,但让颜色等立即被替换实际上更优化。没必要,稍微好点就好了。也就是说,如果您使用单引号, 会更容易理解发生了什么。

关于git - 为什么我的 bash 提示不更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5379986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com