Tengo un script que intento portar de Linux a Darwin / OS X. La versión de Linux actualmente depende del watch
comando, que no parece estar instalado en Darwin / OS X de forma predeterminada. ¿Cuál es la alternativa nativa?
Tengo un script que intento portar de Linux a Darwin / OS X. La versión de Linux actualmente depende del watch
comando, que no parece estar instalado en Darwin / OS X de forma predeterminada. ¿Cuál es la alternativa nativa?
Respuestas:
No hay alternativa nativa. Debe adquirir el watch
uso de Homebrew ( brew install watch
) o MacPorts ( port install watch
) si necesita un ejecutable real.
Sin embargo, puede emular la función de watch
. Eso se puede lograr en un bash while loop estándar ( de Stack Overflow de Daniel Pittman ):
Puede emular la funcionalidad básica con el bucle de shell:
while :; do clear; your_command; sleep 2; done
Eso se repetirá para siempre, borrará la pantalla, ejecutará su comando y esperará dos segundos: la implementación básica de watch your_command.
Puede llevar esto un paso más allá y crear un script watch.sh que pueda aceptar your_command y sleep_duration como parámetros:
#!/bin/bash # usage: watch.sh <your_command> <sleep_duration> while :; do clear date $1 sleep $2 done