Embrulhe as sequências de cor na linha de leitura como segue:
echo -e "[echo -e "[%pre%1\e[1;31m%pre%2⎇ $BRANCH%pre%1\e[1;37m%pre%2]"
1\e[1;31m%pre%2⎇ $BRANCH%pre%1\e[1;37m%pre%2]"
As saídas de linha de leitura são
no início de uma seqüência de não impressão e
1\[
2\]
no final. Estes são equivalentes a %code% e %code% , respectivamente, na string PS1.
Fonte: resposta do archemiro em bash prompt e ecoando cores dentro de uma função - Stack Overflow