自定义.bashrc时遭遇bash命令替换语法错误求助
问题排查与解决
错误根源
你的PS1配置中,git分支状态的命令替换部分多了一个多余的右括号)。bash解析时,会把这个额外的括号当成意外的语法令牌,从而抛出错误。
从错误信息可以看到,实际执行的命令末尾多了一个):
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/')
修正后的配置
将多余的右括号删除即可,修正后的完整PS1配置如下:
export PS1="[\A \d] \[\033[32m\]\h@\u\[\033[m\] \[\033[33m\]\w\[\033[m\]> \[\033[36m\]\$(git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/')\[\033[m\]\n\\$\[$(tput sgr0)\]"
验证方法
执行以下命令使修改立即生效:
source ~/.bashrc
之后查看终端提示符是否正常显示git分支状态,且无语法错误提示。
内容的提问来源于stack exchange,提问作者AskMeee12
相关产品推荐
相关产品推荐

