16 votos

¿Existe un comando `watch` nativo de Darwin/OS X?

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?

30voto

NetherLinks Puntos 905

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

Esta y otras opciones están disponibles en Stack Overflow.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X