При беге git status -sb
вижу:
Я хочу watch
(из procps-ng 3.3.3) хранилище. --color
Вариант должен сохранить цвета.
Интересно, что он работает с ls
:
$ watch --color "ls --color"
Показаны:
Однако для git
цветов исчезают:
$ watch --color "git status -sb"
Итак, почему watch
отображаются цвета из, ls
а не из git
вывода?
git
watch-command
Дрю Ноакс
источник
источник
Ответы:
Следующие утверждения верны:
watch
запускает команду в новой оболочкеsh
..bashrc
псевдонимы ,ls
какls --color=auto
для того, чтобы цвет.sh
не наследует и не используетbash
псевдонимы.Поэтому, когда
watch
запускаетсяls
, он не запрашивает цвета, он просто запускает старую версию. Вы можете обойти это, но, как указывает адитья, вам также нужно включить цвета,watch
чтобы они правильно обрабатывали их.Рабочий пример для
ls
:Если вы не перейдете
--color
к просмотру, вы увидите множество уродливых цветовых кодов.ls --color
интерпретируется какls --color=always
.ls --color=auto
не печатает цвет в часах. Это говорит о том, что это выводит цветовую поддержку из самого терминала.Более подробно о причине, почему мы можем проверить, считает ли оболочка часов реальный терминал :
Я подозреваю, что некоторые приложения смотрят на это (или подобное), чтобы сказать, должны ли они включать цвета или нет.
источник
git status -sb
, хотя и работаетls --color
.git
. Окраска устанавливается в конфигурации git напрямую . Так что это не проблема с алиасами.auto
которые, как вы правильно догадывались, заставляли git избегать вывода цвета. Использованиеalways
вместо этого решило эту проблему. Большое спасибо!git
использует значение конфигурации, чтобы определить, показывать ли цветной вывод или нет.Например:
Это устанавливает цветовую настройку
auto
глобально. Вauto
режиме git определит, является ли это реальным терминалом, перед отправкой цветовых кодов, как предположил Оли.Вы можете принудительно установить это глобальное значение
always
, однако лучшей идеей может быть его применение к определенной команде:Собираем все вместе:
источник
Это работает, если
git
(--color
) иwatch
(-c
) сказано использовать цвета:источник