Puede haber algo más sucediendo. ls
no debería usar colores a menos que piense que está conectado a algo interactivo. No debería colorear las cosas cuando se canaliza a otro programa.
Un alias generalmente es una mala idea porque nunca puedes deshacerte de esa opción y te acostumbras a configuraciones personales que quizás no puedas llevar contigo a otra máquina en la que tengas que trabajar. Si necesita apagarlo para conectarlo a otra cosa, use el interruptor en esa tubería. Pero, los colores no deberían estar allí en una tubería.
Para ls
ver si la suya admite la LS_COLORS
variable de entorno. Los trapd00r / LS_COLORS muestra cómo THT obras. dircolors le permite ajustar los colores minuciosamente y por tipo de archivo. Si no configura LS_COLORS
pero tiene activada la coloración, ls
hará un montón de llamadas al sistema para descubrir los tipos de archivo y los atributos para que pueda determinar qué colorear. Las personas detrás de Sherlock descubrieron que la configuración LS_COLORS
puede evitar todo eso y mejorar 40 veces la velocidad . Lea sus detalles sangrientos para ver lo que encontraron.
Hago que todos los tipos de archivos usen los colores predeterminados:
$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'
Aquí está el archivo LS_COLORS que alimente a dircolors:
BLK 0
CAPABILITY 0
CHR 0
DIR 0
DOOR 0
EXEC 0
FIFO 0
FILE 0
LINK 0
MULTIHARDLINK 0
NORMAL 0
ORPHAN 0
OTHER_WRITABLE 0
SETGID 0
SETUID 0
SOCK 0
STICKY 0
STICKY_OTHER_WRITABLE 0
Para grep
ver si el tuyo es compatible GREP_COLORS
o GREP_OPTIONS
.
ls
ygrep
cuando se canaliza, no necesita hacer nada porque--color=auto
ya apaga el color cuando su salida es una tubería, o de hecho cualquier cosa menos un tty; eso es lo que significa "auto". De manera similar, FreeBSDls -G
o 'CLICOLOR' está 'deshabilitado si la salida no se dirige a un terminal a menos que ... CLICOLOR_FORCE ...'.