Por que as informações de ramificação do git são claras ao criar uma nova guia no terminal?

1

Eu escrevi um script bash para colocar informações git no meu prompt bash, junto com ainda manter o pwd do terminal na barra de título, para permitir que novas abas sejam abertas no diretório de trabalho atual. Tudo funciona bem, exceto que quando eu faço uma nova aba, a informação na aba original é limpa até que eu clique em enter para atualizá-la.

Abaixo está minha entrada .bash_profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

function git_prompt() {
  local status='git status 2>&1'

  if ! [[ $status =~ "Not a git repository" ]]; then
    # get the current branch
    local branch='git branch | ack -o '(?<=\* ).*''

    # set the color according to the status of the git repo
    if [[ $status =~ "nothing to commit" ]]; then
      local color=42
    elif [[ $status =~ "nothing added to commit but untracked files present" ]]; then
      local color=43
    else
      local color=45
    fi

    echo -ne "3["$color"m"$branch"3[49m "
  fi
}

function my_prompt() {
  ## PWD IN TITLE FOR NEW TAB LOCATION DETECTION
  update_terminal_cwd

  ## GIT BRANCH AND STATUS DISPLAY
  git_prompt
}


## SETTINGS ############################################################
########################################################################

# custom bash prompt
PS1='\[\e[1;34m\]\W \$\[\e[0m\] '

# scripts that need to be run before display of bash prompt 
PROMPT_COMMAND=my_prompt
    
por epicgrim 31.07.2012 / 17:34

1 resposta

3

Isso ocorre basicamente porque, ao carregar ~/.bashrc , não considera incluir corretamente ~/.bash_profile

Basta anexar essas linhas no final de seu ~/.bashrc , isso deve fazer a mágica.

if [ -f ~/.bash_profile ]; then
    . ~/.bash_profile
fi

Funciona bem para mim:)

    
por 11.09.2012 / 16:21