Quando executo um comando como este:
# systemctl status plexmediaserver
Recebo impressões bem coloridas. Mas quando eu executo o seguinte comando:
# watch -n300 --color systemctl status plexmediaserver
Existe alguma maneira de executar esse watch
comando com cores systemctl
? Examinei a página de manual, systemctl
mas não vejo referência a cores em nenhum lugar.
Respostas:
man systemd
dizou seja, você pode forçar o modo de cores com isso.
fonte
SYSTEMD_COLORS
faz mais do que o nome sugere, porque meados 2018 suporte para links clicáveis foi introduzido, a saída de lixo com alguns códigos de escape e URLs urlified - que felizmente pode ser desligado comSYSTEMD_URLIFY=0
systemctl
parece não ter um mecanismo para especificar quando colorir a saída. Uma solução rápida seria calçarisatty(3)
para sempre retornar verdadeiro, enganando-se assim,systemctl
pensando que stdout é interativo. Ou seja, você poderia fazer:O
-xc -
no final dogcc
comando dizgcc
para compilar o código C (-xc
) a partir de stdin (-
). O restante dos sinalizadores informagcc
para criar um arquivo de objeto compartilhado chamadoisatty.so
. Observe que isso pode muito bem interromper outros programas que dependemisatty
para retornar um valor legítimo. No entanto, parece estar bem,systemctl
poisisatty
parece ser usado apenas com o objetivo de determinar se deve colorir sua saída.fonte
Com base na resposta de @ KarlC , aqui está um script que gera e inclui a biblioteca em tempo de execução:
fonte