5 votes

Pourquoi le terminal OS X a-t-il besoin d'une source manuelle pour afficher la couleur ?

J'ai les éléments suivants dans mon ~/.bash_profile fichier :

export CLICOLOR=1
export PS1="$FBLU[\#]$RS--$RS{\t}$RS$FWHT\W$RS$FMAG@$RS$FRED\u$RS$FCYN\$$RS$FBLU>>>$RS"
# ANSI color codes
RS="\[\033[0m\]" # reset
HC="\[\033[1m\]" # hicolor
UL="\[\033[4m\]" # underline
INV="\[\033[7m\]" # inverse background and foreground
FBLK="\[\033[30m\]" # foreground black
FRED="\[\033[31m\]" # foreground red
FGRN="\[\033[32m\]" # foreground green
FYEL="\[\033[33m\]" # foreground yellow
FBLU="\[\033[34m\]" # foreground blue
FMAG="\[\033[35m\]" # foreground magenta
FCYN="\[\033[36m\]" # foreground cyan
FWHT="\[\033[37m\]" # foreground white
BBLK="\[\033[40m\]" # background black
BRED="\[\033[41m\]" # background red
BGRN="\[\033[42m\]" # background green
BYEL="\[\033[43m\]" # background yellow
BBLE="\[\033[44m\]" # background blue
BMAG="\[\033[45m\]" # background magenta
BCYN="\[\033[46m\]" # background cyan
BWHT="\[\033[47m\]" # background white

alias ls="ls -l"
function cd() { builtin cd "$@" && ls -l; }

Quand j'ouvre le terminal, j'obtiens :

[1]--{08:20:18}~@mike$>>>

ce qui prouve que le formatage fonctionne. Cependant, je suis obligé de sourcer le fichier .bash_profile à chaque exécution du terminal pour que les couleurs s'affichent correctement :

. ~/.bash_profile

Pourquoi cela se produit-il ? Que puis-je faire pour que les couleurs s'affichent à chaque fois que le terminal s'exécute ?

J'exécute également le Style terminal menthe poivrée Bien que j'aie le même problème sans lui, cela pourrait-il avoir un rapport avec le problème ?

0 votes

Vous pouvez aller dans Terminal > Préférences > Options de démarrage. Ensuite, à partir de là, vous pouvez l'exécuter à chaque fois. Il suffit de lancer le profil bash à partir de là.

8voto

jherran Points 12554

Les variables de couleur doivent être définies avant le export PS1 . Maintenant, quand vous appelez $RS sur cette ligne, cette variable est vide. Essayez de cette façon :

export CLICOLOR=1

# ANSI color codes
RS="\[\033[0m\]" # reset
HC="\[\033[1m\]" # hicolor
UL="\[\033[4m\]" # underline
INV="\[\033[7m\]" # inverse background and foreground
FBLK="\[\033[30m\]" # foreground black
FRED="\[\033[31m\]" # foreground red
FGRN="\[\033[32m\]" # foreground green
FYEL="\[\033[33m\]" # foreground yellow
FBLU="\[\033[34m\]" # foreground blue
FMAG="\[\033[35m\]" # foreground magenta
FCYN="\[\033[36m\]" # foreground cyan
FWHT="\[\033[37m\]" # foreground white
BBLK="\[\033[40m\]" # background black
BRED="\[\033[41m\]" # background red
BGRN="\[\033[42m\]" # background green
BYEL="\[\033[43m\]" # background yellow
BBLE="\[\033[44m\]" # background blue
BMAG="\[\033[45m\]" # background magenta
BCYN="\[\033[46m\]" # background cyan
BWHT="\[\033[47m\]" # background white

export PS1="$FBLU[\#]$RS--$RS{\t}$RS$FWHT\W$RS$FMAG@$RS$FRED\u$RS$FCYN\$$RS$FBLU>>>$RS"

alias ls="ls -l"
function cd() { builtin cd "$@" && ls -l; }

0 votes

Parfait, merci ! Je me sens un peu bête - c'est assez évident maintenant que j'y regarde Je suis encore en train de m'habituer à bash et aux nuances du terminal !

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