Ao executar git status -sb
, vejo:
Eu quero watch
(do procps-ng 3.3.3) um repositório. A --color
opção deve manter as cores.
Curiosamente, ele trabalha com ls
:
$ watch --color "ls --color"
Mostrando:
No entanto, para git
as cores desaparecem:
$ watch --color "git status -sb"
Então, por que watch
mostra cores ls
da git
saída, mas não da saída?
git
watch-command
Drew Noakes
fonte
fonte
Respostas:
As seguintes afirmações são verdadeiras:
watch
executa o comando em um novo shellsh
,..bashrc
aliasesls
comols --color=auto
para permitir cores.sh
não herda ou usabash
aliases.Então, quando
watch
é executadols
, não está pedindo cores, está apenas executando a versão antiga simples. Você pode contornar isso, mas, como aditya ressalta, também precisa ativar as coreswatch
para processá-las adequadamente.Um exemplo de trabalho para
ls
é:Se você não passar
--color
para assistir, verá vários códigos de cores feios em linha.ls --color
é interpretado comols --color=always
.ls --color=auto
não imprime cores no relógio. Isso sugere que ele está deduzindo o suporte de cores do próprio terminal.Para saber mais sobre o motivo, podemos testar se o relógio acha que é um terminal real :
Suspeito que alguns aplicativos estejam analisando isso (ou similar) para saber se devem ativar as cores ou não.
fonte
git status -sb
, mesmo que funcionels --color
.git
. A coloração é definida diretamente na configuração do git . Portanto, isso não parece ser um problema de alias.auto
quais, como você supôs corretamente, estava causando o git para evitar a saída de cores. O usoalways
resolveu esse problema. Muito Obrigado!git
usa um valor de configuração para determinar se mostra a saída colorida ou não.Por exemplo:
Isso define a configuração de cores para
auto
globalmente. Noauto
modo, o git determinará se é um terminal real antes de enviar códigos de cores, como sugeriu Oli.Você pode forçar esse valor global
always
, no entanto, uma idéia melhor pode ser aplicá-lo a um comando específico:Juntando tudo:
fonte
Funciona se
git
(--color
) ewatch
(-c
) são instruídos a usar cores:fonte