-1

Я установил переменную среды TERM так

export TERM=linux-m

перейти на не цветной термин. Теперь, когда я ls -l я действительно не получаю цветного вывода, но когда я использую, например, grep --color abc 1.txt он все равно возвращает цветной вывод? Почему установка переменной влияет на команду ls а не на grep?

1 ответ1

0

со страницы man ls :

С --color = auto, ls испускает цветовые коды только тогда, когда стандартный вывод подключен к терминалу.

Следовательно, если --color установлен в:

  • always : ls испускает цвет, даже вывод перенаправляется в файл;
  • auto : ls выдает код цвета, если вывод является терминалом, например. он не перенаправляется в файл или канал, даже если терминал не имеет раскраски, поскольку явно не сказано, что это зависит от возможностей терминала.

Учитывая grep, я предполагаю, что поведение такое же (попробуйте grep --color=auto... | less и grep --color=always ... | less и вы увидите результаты)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .