In un prompt di Bash (variabile PS1), sto chiamando una funzione per aggiungere potenzialmente testo al prompt: export PS1="\u@\h \$(my_function) \$ "
Tuttavia, la funzione nel prompt contiene codici colore ANSI che cambiano in base all'output della funzione (a volte rosso, a volte verde). L'aggiunta di " \[
" alla variabile PS1 dovrebbe sfuggire a quei codici come non stampabili, ma se lo faccio echo
nella funzione, " \[
" viene stampato letteralmente nel prompt.
Come posso evitare questi codici colore ANSI all'interno di una funzione per l'uso in un prompt di bash?
echo -e "\001\e[31m\002RED"
funziona come previsto. Grazie!