Tengo un script que estoy intentando portar de Linux a Darwin/OS X. La versión de Linux depende actualmente de la watch
que no parece estar instalado por defecto en Darwin/OS X. ¿Cuál es la alternativa nativa?
Respuesta
¿Demasiados anuncios?No hay alternativa nativa. Debe adquirir watch
de utilizar Homebrew ( brew install watch
) o MacPorts ( port install watch
) si necesita un ejecutable real.
Sin embargo, puede emular la función de watch
. Esto puede lograrse con un bucle while estándar de bash ( de Stack Overflow por Daniel Pittman ):
Puedes emular la funcionalidad básica con el bucle shell:
while :; do clear; your_command; sleep 2; done
Eso hará un bucle eterno, limpiará la pantalla, ejecutará tu comando y esperará dos segundos - la implementación básica de watch your_command.
Usted puede tomar esto un paso más allá y crear un watch.sh script que puede 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