Changer la couleur du directory dans la sortie bash

Sous Mac OSX, j'essaie de changer la couleur dir quand ls sort dans le shell bash. J'ai donc placé cette ligne à la fin de mon file .bashrc et rechargée.

LS_COLORS=$LS_COLORS:'di=0;32:' ; export LS_COLORS
. ~/.bashrcc

La sortie de l' echo "$LS_COLORS" est :di=0;35::di=0;35::di=0;32:

Mais je ne reçois pas la lumière verte que j'attends. Merci

entrer la description de l'image ici

  1. Mac utilise BSD ls . Voir man ls pour plus de détails.
  2. Le format de LS_COLORS est différent.

    Plus précisément, voir LESS='+/^[[:space:]]*LSCOLORS' man ls

  3. Le nom de la variable n'est même pas LS_COLORS , c'est LSCOLORS .

Les liens que j'ai trouvés qui ont été les plus utiles pour comprendre cela étaient ce blog et cet article qui a été lié à partir du blog.

La valeur par défaut de LSCOLORS est exfxcxdxbxegedabagacad . Pour laisser tout à sa couleur par défaut à l'exception des directorys, et faites-les verts au lieu de bleu, mettez ce qui suit dans votre ~/.bash_profile :

 export LSCOLORS=cxfxcxdxbxegedabagacad 

Vous devrez également définir la variable CLICOLOR (avec export CLICOLOR= ) ou alias ls sur ls -G . Mais dans votre capture d'écran ci-dessus, vous avez la sortie de couleur, donc je suppose que vous avez déjà fait l'un d'entre eux.


Réponse originale:

Sous Mac OS, ls prend l'option -G pour coloriser la sortie.

De l' man ls sur un Mac:

  -G Enable colorized output. This option is equivalent to defining CLICOLOR in the environment. (See below.) 

Exécutez ls -G et vous obtiendrez la sortie de couleur.


Je recommand également d'append:

 alias ls='ls -GF' 

à votre ~/.bash_profile . C'est le pseudonyme que j'ai ici. L'option -F ajoute les noms de directorys / after, * après les exécutables, etc.