在分支开关上进行 bash 完成重置
make bash completion reset on branch switch
我有以下问题:
我已经设置了我当前所在的分支,在我的命令提示符中显示如下:
"[Current_working_dir](大师)"
但是每次我切换分支时都会出现以下错误并且分支不会刷新:
[work_environment] (master) git checkout test
M bash/bashrc
Switched to branch 'test'
[work_environment] (master)
我的 .bashrc 如下所示:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
# Bash git completion
source /etc/bash_completion.d/git-prompt
#Colored command prompt + minimum view
export PS1="\[\e[0;34m\][\[\e[1;34m\]\W\[\e[0;34m\]]\[\e[0m\]\[\e[0;32m\]$(__git_ps1)\[\e[0m\] "
谁能告诉我我做错了什么?我似乎找不到任何关于此错误的信息
你的问题是这一行的双引号:
export PS1="\[\e[0;34m\][\[\e[1;34m\]\W\[\e[0;34m\]]\[\e[0m\]\[\e[0;32m\]$(__git_ps1)\[\e[0m\] "
正在立即评估该行并且__git_ps1
仅被调用一次。
试试 echo "$PS1"
看看我的意思。
你需要单引号。 PS1
的值在使用之前进行评估,因此该函数将在该点被正确调用(并查看当前的 branch/etc。)。
export PS1='\[\e[0;34m\][\[\e[1;34m\]\W\[\e[0;34m\]]\[\e[0m\]\[\e[0;32m\]$(__git_ps1)\[\e[0m\] '
在您的 PS1 声明周围使用单引号而不是双引号。目前变量被评估然后设置为 PS1。您希望每次使用 PS1 时都对它们进行评估。
我有以下问题:
我已经设置了我当前所在的分支,在我的命令提示符中显示如下:
"[Current_working_dir](大师)"
但是每次我切换分支时都会出现以下错误并且分支不会刷新:
[work_environment] (master) git checkout test
M bash/bashrc
Switched to branch 'test'
[work_environment] (master)
我的 .bashrc 如下所示:
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
# Bash git completion
source /etc/bash_completion.d/git-prompt
#Colored command prompt + minimum view
export PS1="\[\e[0;34m\][\[\e[1;34m\]\W\[\e[0;34m\]]\[\e[0m\]\[\e[0;32m\]$(__git_ps1)\[\e[0m\] "
谁能告诉我我做错了什么?我似乎找不到任何关于此错误的信息
你的问题是这一行的双引号:
export PS1="\[\e[0;34m\][\[\e[1;34m\]\W\[\e[0;34m\]]\[\e[0m\]\[\e[0;32m\]$(__git_ps1)\[\e[0m\] "
正在立即评估该行并且__git_ps1
仅被调用一次。
试试 echo "$PS1"
看看我的意思。
你需要单引号。 PS1
的值在使用之前进行评估,因此该函数将在该点被正确调用(并查看当前的 branch/etc。)。
export PS1='\[\e[0;34m\][\[\e[1;34m\]\W\[\e[0;34m\]]\[\e[0m\]\[\e[0;32m\]$(__git_ps1)\[\e[0m\] '
在您的 PS1 声明周围使用单引号而不是双引号。目前变量被评估然后设置为 PS1。您希望每次使用 PS1 时都对它们进行评估。