Есть ли переменная env для включения --color (и тому подобное) для всех команд?

9

Я использую псевдонимы, чтобы включить цвет для некоторых команд по умолчанию. Но мне интересно , если есть более простой способ в моей системе говоря, цвет поддерживается, не заставляй меня использовать --colorдля grep, lsи т.д.

xenoterracide
источник

Ответы:

8

Во FreeBSD есть CLICOLOR .

В Linux и любой другой системе с инструментами GNU вам нужно установить LS_COLORS, GREP_COLOR и GREP_OPTIONS = '- color = auto', но даже в этом случае вам все равно нужно будет работать ls --color=auto. Запустите info coreutils 'ls invocation'для более подробной информации.

Самый простой способ избежать печатания --colorв Linux - это lsзапустить ls --color=autoпсевдоним.

Это то, что я вставил в мой .bashrc (ну, на самом деле мой .env, но он похож на .bashrc), чтобы это произошло по умолчанию:

# 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
источник
3
GNU терпит неудачу в этом отношении
ксенотеррацид