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 funkcjaUż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 funkcjaUżywam Gentoo Linux.GNU bash, verze 4.2.37(1)-release (i686-pc-linux-gnu)