Czy jest jakaś zmienna env do włączenia --color (i tym podobnych) dla wszystkich poleceń?

9

Używam aliasów, aby domyślnie włączać kolor dla niektórych poleceń. Ale zastanawiam się, czy istnieje prostszy sposób na mówienie mój system, kolor jest obsługiwany, nie każ mi używać --colordla grep, lsitp

ksenoterracid
źródło

Odpowiedzi:

8

FreeBSD ma CLICOLOR .

W systemie Linux i każdym innym systemie z narzędziami GNU musisz ustawić LS_COLORS, GREP_COLOR i GREP_OPTIONS = '- color = auto', ale nawet wtedy musisz uruchomić ls --color=auto. Uruchom, info coreutils 'ls invocation'aby uzyskać więcej informacji.

Najłatwiejszym sposobem, aby uniknąć pisania --colorna Linuksie, jest lsuruchomienie ls --color=autoprzy użyciu aliasu.

Oto, co umieściłem w moim .bashrc (cóż, naprawdę mój .env, ale to jest jak .bashrc), aby domyślnie tak się stał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
źródło
3
GNU zawodzi pod tym względem
ksenoterracid