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

7

Tengo una secuencia de comandos que intento transferir de Linux a Darwin / OS X. La versión de Linux actualmente depende del comando watch , que no parece estar instalado en Darwin / OS X de forma predeterminada. ¿Cuál es la alternativa nativa?

    
pregunta tjt263 06.04.2016 - 04:24

1 respuesta

12

No hay alternativa nativa. Debe adquirir watch de usar Homebrew ( brew install watch ) o MacPorts ( port install watch ) si necesita un ejecutable real.

Sin embargo, puedes emular la función de watch . Esto se puede lograr en un bucle bash while estándar ( de Stack Overflow por 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, borra la pantalla, ejecuta tu comando y espera dos segundos: la implementación básica de watch_command.

     

Puede llevar esto un paso más allá y crear un script watch.sh que pueda   acepte 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

Eso, y otras opciones, están disponibles en Stack Overflow.

    
respondido por el NetherLinks 06.04.2016 - 04:40

Lea otras preguntas en las etiquetas