Sé que se ha hecho una pregunta similar en:
aunque realmente no entendí la respuesta y realmente no pude hacerla funcionar.
Sin embargo, he probado algo diferente. Decidí leer la página del manual ls
y menciona diferentes variables de entorno que se pueden configurar al manejar el ls
comando. Si uno va a la -G
opción, dice mirar las CLICOLOR
variables de entorno. lo hice yesouno lo vincula a la documentación de la LSCOLORS
variable de entorno. Fui a él y menciona:
"El valor de esta variable describe qué color usar para qué atributo cuando los colores están habilitados con CLICOLOR. Esta cadena es una concatenación de pares del formato fb, donde f es el color de primer plano y b es el color de fondo. "
También menciona que el valor predeterminado de LSCOLORS es "exfxcxdxbxegedabagacad" y que cada parte especifica el color de algo específico en el comando ls. Por ejemplo, el primer par ex del ejemplo especifica el color de los directorios. el segundo cambia el color de los enlaces simbólicos, etc. e significa azul y x significa "primer plano" predeterminado.
1) Primero, ¿qué significa esto: "cuando los colores están habilitados con CLICOLOR"?
2) ¿Qué hace"primer plano"¿significar?
¿Cuáles deben ser las variables de entorno para que el ls
comando coloree la salida como yo desee?
También probé:
ls --color
Pero me arrojó el siguiente error:
ls: illegal option -- - usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
Ocurrió el mismo error cuando lo hice ls --color=auto
: solo también arroja un error. No tengo idea de por qué y no estoy seguro de si se debió a iTerm2 o OS X o por qué sucedió eso. Parece que funciona en otros sistemas...
Respuesta1
Mientras intentaba responder mi propia pregunta, probé algunas cosas diferentes y todo funcionó experimentando.
1) Supongo que "habilitar CLICOLOR" significa establecerlo en 1 (es decir, verdadero) porque una vez que configuré esa variable en 1, LSCOLOR comenzó a funcionar.
2) En este contexto, "Primer plano" significa el resaltado de fondo que se aplicará. Por ejemplo, bc para el primer par significa que coloreará los caracteres de los directorios en rojo, mientras que el fondo/resaltado será verde. Por ejemplo, si su var de entorno es como: export LSCOLORS="bCfxcxdxbxegedabagacad"
luego al hacer ls se muestra algo como esto:
Obviamente, para que esto funcione, el comando ls debe tener el alias ls -G (o simplemente hacer ls -G cada vez) y debe tener las siguientes líneas en su .bashrc o cualquier archivo shell rc que use:
export CLICOLOR=1
export LSCOLORS="gxfxcxdxbxegedabagacad"
Ahora puede cambiar los LSCOLORS como desee según lo especificado en el archivo man ls.
Puede haber diferentes formas de hacer que esto funcione, pero así es como funcionó para mí en Unix en OS X mavericks en iTerm2.
Respuesta2
Reemplace --color
con -G
cuando esté en funcionamiento ls
.