Niestandardowy monit Bash zastępuje się

Używam niestandardowego zachęty bash, aby pokazać gałąź git.

Wszystko jest w środku/etc/bash/bashrc:

function formattedGitBranch {
    _branch="$(git branch 2>/dev/null | sed -e "/^\s/d" -e "s/^\*\s//")"
    # tried these:
    echo -e "\e[0;91m ($_branch)"                       
    echo -e "\e[0;91m ($_branch) \e[m"                  
    echo -e 

Problem polega na tym, że ustawiam kolor dla$_branch w funkcji mój monit zostanie zastąpiony po osiągnięciu EOL:

Próbowałem wszystkich możliwych wariantówtput, printf, $'' notacja.

Rozwiązałem problem, ustawiając kolor tylko wPS1:

Ale..

Chciałbym wiedzieć, dlaczego nadpisuje mój monitJak rozwiązać ten problem, gdy używana jest funkcja

Używam Gentoo Linux.GNU bash, verze 4.2.37(1)-release (i686-pc-linux-gnu)

\e[0;91m'"($_branch)" echo "($_branch)" echo "$(tput setaf 2) ($_branch) $(tput setaf 9)" printf "\e[0;91m ($_branch)" } # color is set before function call PS1='\[\033[01;34m\] \[\033[0;91m\]$(formattedGitBranch) \$\[\033[00m\] ' # color is set inside function PS1='\[\033[01;34m\] $(formattedGitBranch) \$\[\033[00m\] '

Problem polega na tym, że ustawiam kolor dla$_branch w funkcji mój monit zostanie zastąpiony po osiągnięciu EOL:

Próbowałem wszystkich możliwych wariantówtput, printf, $'' notacja.

Rozwiązałem problem, ustawiając kolor tylko wPS1:

Ale..

Chciałbym wiedzieć, dlaczego nadpisuje mój monitJak rozwiązać ten problem, gdy używana jest funkcja

Używam Gentoo Linux.GNU bash, verze 4.2.37(1)-release (i686-pc-linux-gnu)

questionAnswers(3)

yourAnswerToTheQuestion