Em um prompt bash (variável PS1), estou chamando uma função para potencialmente adicionar texto ao prompt: export PS1="\u@\h \$(my_function) \$ "
No entanto, a função no prompt contém códigos de cores ANSI que são alterados com base na saída da função (às vezes vermelho, às vezes verde). Adicionar " \[
" à variável PS1 deve escapar desses códigos como não imprimíveis, mas se eu fizer um echo
na função, o " \[
" será impresso literalmente no prompt.
Como posso escapar desses códigos de cores ANSI de uma função para uso em um prompt do bash?
echo -e "\001\e[31m\002RED"
funciona como esperado. Obrigado!