Includi i tuoi colori tra parentesi []
in modo che contino come caratteri non stampabili .
export PS1="\[3[0;35m\]\u\[3[00m\] on \[3[0;36m\]\h\[3[00m\] in \[3[0;33m\]\w\[3[00m\] \$ "
Sfortunatamente, questo si traduce in problemi di line wrapping noti che sono afflitti da bash.
Ci sono buone notizie a tutti, la luce alla fine del tunnel è tput
.
echo $(tput setaf 6) This is cyan
Imposta prima tutte le variabili, quindi usale all'interno dello script.
mg=$(tput setaf 5);cy=$(tput setaf 6);yl=$(tput setaf 3);rs=$(tput sgr0); echo $mg $USER $cy $HOSTNAME $yl $PWD $rs
Puoi trovare uno script di esempio nel mio github dotfiles
repo