Existe uma alternativa nativa ao comando 'watch'; para Darwin / OS X

1

Eu tenho um script que estou tentando migrar do Linux para o Darwin / OS X. A versão do Linux atualmente depende do comando watch, que não parece estar instalado no Darwin / OS X por padrão. Qual é a alternativa nativa?

    
por tjt263 06.04.2016 / 04:42

2 respostas

4

Não há substituto exato. Você pode instalar o comando Linux watch com seu gerenciador de pacotes favorito (homebrew ou macports) ou manualmente.

Ou você pode rolar sua própria funcionalidade watch -like com um pequeno loop dentro de uma função shell, como:

fakewatch () { while true; do clear; date; ${1}; sleep 2; done; }

Em seguida, chame fakewatch ps (substitua ps pelo comando que você deseja assistir).

    
por 06.04.2016 / 06:18
1

Com base na resposta incrível do @Spiff, eu melhorei um pouco para evitar piscar / piscar em cada execução:

fakewatch () { while true; do DATE=$(date); RESULT=$(${@}); clear; echo "$DATE"; echo "$RESULT"; sleep 5; done; }

Dessa forma, armazenamos o resultado antes de imprimi-lo, para que, no momento da impressão, tudo seja impresso ao mesmo tempo

    
por 10.04.2018 / 16:38