Eu tenho um script que estou tentando portar do Linux para o Darwin / OS X. A versão do Linux atualmente depende do watch
comando, que não parece estar instalado no Darwin / OS X por padrão. Qual é a alternativa nativa?
Eu tenho um script que estou tentando portar do Linux para o Darwin / OS X. A versão do Linux atualmente depende do watch
comando, que não parece estar instalado no Darwin / OS X por padrão. Qual é a alternativa nativa?
Respostas:
Não há alternativa nativa. Você deve adquirir o watch
Homebrew ( brew install watch
) ou o MacPorts ( port install watch
) se precisar de um executável real.
No entanto, você pode emular a função de watch
. Isso pode ser realizado em um loop bash while padrão ( do Stack Overflow de Daniel Pittman ):
Você pode emular a funcionalidade básica com o loop do shell:
while :; do clear; your_command; sleep 2; done
Isso fará um loop para sempre, limpe a tela, execute seu comando e aguarde dois segundos - observe a implementação básica do your_command.
Você pode dar um passo adiante e criar um script watch.sh que possa aceitar o seu_command e o estado_de_perdição como parâmetros:
#!/bin/bash # usage: watch.sh <your_command> <sleep_duration> while :; do clear date $1 sleep $2 done