1.
Есть команда на баше:
$ tree
Если я выполню эту команду в своём терминале - я увижу цвета.
Есть другая команда на баше:
$ tree | cat
Если я выполню эту команду в своём терминале - я не увижу цвета.
У меня есть догадки что это как-то связано c переменными окружения.
Хотелось бы услышать наиболее «глубинный» ответ (хотя бы в виде ссылок, но желательно с пояснениями). Ещё прошу поправить терминологию в моём сообщении.
2.
Вот ещё строчка из $ man ls.1
:
ls emits color codes only when standard output is connected to a terminal.
Пожалуйста, разъясните мне её.