Estoy obligado a get manualmente ~ / .bashrc para visualizar y actualizar la twig GIT en mi símbolo del sistema

Cuando inicio session en mi server CentOS, mi file ~/.bashrc está siendo originado. Esto es evidente porque 1.) Tengo un logger "sourcing ~/.bashrc" en ~/.bash_profile y veo ese post en /var/log/messages ; y 2.) Mi post muestra mi directory de trabajo actual, una de las muchas cosas que son exclusivas de mi post.

Sin embargo, cuando copio en un repository Git, la twig actual de Git no se muestra:

 (/home/jenkins/GitLab/testing-scripts/tests) jenkins-tests $ 

Mientras estoy en este repository, si obtengo mi file ~/.bashrc , veo mi twig de Git como lo hubiera anticipado:

 (/home/jenkins/GitLab/testing-scripts/tests) jenkins-tests $ . ~/.bashrc (/home/jenkins/GitLab/testing-scripts/tests) jenkins-tests (devel)$ 

Si tengo la oportunidad de mi twig, para que se muestre la twig actual, tengo que volver a source ~/.bashrc .

Mi ~/.bashrc ejecuta el command __git_ps1 común desde aquí .

Mi ~/.bash_profile contiene lo siguiente:

 GP=~/.git-prompt.sh if [ -f $GP ]; then . $GP; logger "sourced $GP"; fi BRC=~/.bashrc if [ -f $BRC ]; then . $BRC; logger "sourced $BRC"; fi BA=~/.bash_aliases if [ -f $BA ]; then . $BA; logger "sourced $BA"; fi 

Mi ~/.bashrc es muy largo (colors y alias, etc.) pero solo hay dos líneas PS1, una para root y otra para no root.

 if [ $(id -u) -ne 0 ]; then # You are not root export PS1="${BLUE}(${RED}\w${BLUE}) ${NORMAL}\h ${undgrn}$(__git_ps1) ${RED}\$ ${NORMAL}" else export PS1="${RED}\u${BLUE}(${RED}\w${BLUE}) ${NORMAL}\h ${RED}\$ ${NORMAL}" fi 

Observe cómo el rest de mi post está formateado correctamente y se actualiza cuando cambio los directorys de trabajo … pero la twig Git no lo hace a less que obtenga source ~/.bashrc nuevo (también conocido siempre).

De todo lo demás que he visto, la única otra cosa en la que puedo pensar es en /etc/bash_completion , que estoy haciendo muy temprano en mi file ~/.bashrc . El hecho de que el post muestre la twig de Git debería indicar que, funcionalmente, todo es como debería ser, creo.

Perplejo.

¿Alguna sugerencia?

Usted evalúa el contenido de PS1 en el momento de evaluación de .bashrc . Esto significa, por supuesto, que no se actualiza si la twig cambia o algo.

Desea establecer PROMPT_COMMAND en PROMPT_COMMAND lugar. Esto se evalúa cada vez que se muestra el post. Allí debe evaluar el valor actual para PS1 y configurarlo. Entonces la pantalla siempre está actualizada.