Eu tenho um comando bash que quero executar uma vez por segundo e manter a saída exibida na tela. Eu poderia fazer algo como o seguinte:
while "true"; do foo; sleep 1; done
mas isso cria rolagem perturbadora. Como alternativa, eu poderia fazer o seguinte:
while "true"; do clear; foo; sleep 1; done
mas isso faz com que a saída pisque conforme é apagada e gravada. Existe uma boa maneira de fazer com que a saída do comando substitua o que está no terminal?
-bash: watch: command not found.
;man watch: No manual entry for watch
.watch sudo jmap -heap <pid>
, que começa com quatro linhas de saída stderror). Se eu anexar2> /dev/null
ao comando fora do relógio, isso retira a saída. No entanto, anexar2> /dev/null
faz com que a saída fique confusa e faltando linhas.