6 votes

Retour à la ligne bizarre dans le terminal avec une invite colorée

J'ai des raisons de penser que j'ai un mauvais échappement dans mon invite bash (j'obtiens des retours à la ligne aléatoires et bizarres dans Terminal).

Quelqu'un peut-il l'indiquer ? Cela me semble correct...

export PS1="\033[0;35m\u\033[00m on \033[0;36m\h\033[00m in \033[0;33m\w\033[00m \$ "

7voto

jnovack Points 514

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X