Existe alguma variável env para ativar --color (e similares) para todos os comandos?

9

Eu uso aliases para ativar a cor de alguns comandos por padrão. Mas eu estou querendo saber se existe uma maneira mais fácil de dizer o meu sistema, cor é suportado, não me faça usar --colorpara grep, ls, etc.

xenoterracida
fonte

Respostas:

8

O FreeBSD possui o CLICOLOR .

No Linux e em qualquer outro sistema com ferramentas GNU, é necessário definir LS_COLORS, GREP_COLOR e GREP_OPTIONS = '- color = auto', mas mesmo assim você ainda precisa executar ls --color=auto. Corra info coreutils 'ls invocation'para obter mais detalhes.

A maneira mais fácil que conheço de evitar digitar --colorno Linux é lsexecutar ls --color=autousando um alias.

Isto é o que eu coloquei no meu .bashrc (bem, realmente meu .env, mas é como .bashrc) para fazer isso acontecer por padrão:

# set default flags
if grep --color=auto --quiet "" "$HOME"/.bashrc >/dev/null 2>&1
then
  alias grep='grep --color=auto'
fi
if ls --color=never --directory / >/dev/null 2>&1
then
  # enable colors with GNU ls
  alias ls='ls --color=auto'
else
  alias ls='ls -F'
fi
Mikel
fonte
3
O GNU falha nesse sentido
xenoterracide