Mettez vos couleurs entre parenthèses []
Ils sont donc considérés comme caractères non imprimables .
export PS1="\[\033[0;35m\]\u\[\033[00m\] on \[\033[0;36m\]\h\[\033[00m\] in \[\033[0;33m\]\w\[\033[00m\] \$ "
Malheureusement, il en résulte des problèmes de retour à la ligne bien connus dans bash.
Il y a une bonne nouvelle pour tout le monde, la lumière au bout du tunnel est tput
.
echo $(tput setaf 6) This is cyan
Définissez d'abord toutes vos variables, puis utilisez-les dans le script.
mg=$(tput setaf 5);cy=$(tput setaf 6);yl=$(tput setaf 3);rs=$(tput sgr0); echo $mg $USER $cy $HOSTNAME $yl $PWD $rs
Vous pouvez trouver un exemple de script. dans mon github dotfiles
repo