Comando watch com saída em cores
Dica publicada em Linux / Comandos
Comando watch com saída em cores
Acredito que a maioria já deva conhecer o comando watch. Acontece que por padrão ele não mostra as cores da saída do comando no terminal. Enfim, para explicar usarei um exemplo prático.
Vamos verificar o status do serviço "mongod" por exemplo:
service mongod status Agora vamos monitorar esse comando usando o watch:
watch 'service mongod status' Para adicionarmos suporte a cores no watch, usamos a opção "--color":
watch --color 'service mongod status'
Mas... nada mudou correto? Isso ocorre porque a saída do comando entra em buffer antes de ser exibida pelo watch e vem sem cores, a menos que o comando a ser monitorado tenha como ser forçado a sair colorido, como por exemplo o "ls --color".
Então como resolver? Usaremos o auxílio do comando "unbuffer", que em Debian, Ubuntu e derivados pode ser instalado a partir do pacote expect:
sudo apt install expect
Feito isso, execute:
watch --color 'unbuffer service mongod status' Até a próxima!
Vamos verificar o status do serviço "mongod" por exemplo:
service mongod status Agora vamos monitorar esse comando usando o watch:
watch 'service mongod status' Para adicionarmos suporte a cores no watch, usamos a opção "--color":
watch --color 'service mongod status'
Mas... nada mudou correto? Isso ocorre porque a saída do comando entra em buffer antes de ser exibida pelo watch e vem sem cores, a menos que o comando a ser monitorado tenha como ser forçado a sair colorido, como por exemplo o "ls --color".
Então como resolver? Usaremos o auxílio do comando "unbuffer", que em Debian, Ubuntu e derivados pode ser instalado a partir do pacote expect:
sudo apt install expect
Feito isso, execute:
watch --color 'unbuffer service mongod status' Até a próxima!
Bem legal.
___________________________________________________________