Esiste un comando 'watch' nativo su Darwin / OS X?

7

Ho uno script che sto cercando di effettuare il port da Linux a Darwin / OS X. La versione di Linux attualmente dipende dal comando watch , che non sembra essere installato su Darwin / OS X per impostazione predefinita. Qual è l'alternativa nativa?

    
posta tjt263 06.04.2016 - 04:24
fonte

1 risposta

12

Non ci sono alternative native. Devi acquisire watch dall'utilizzo di Homebrew ( brew install watch ) o MacPorts ( port install watch ) se hai bisogno di un eseguibile effettivo.

Puoi comunque, emulare la funzione di watch . Ciò può essere ottenuto in un ciclo standard di bash while ( da Stack Overflow di Daniel Pittman ):

You can emulate the basic functionality with the shell loop:

while :; do clear; your_command; sleep 2; done

That will loop forever, clear the screen, run your command, and wait two seconds - the basic watch your_command implementation.

You can take this a step further and create a watch.sh script that can accept your_command and sleep_duration as parameters:

#!/bin/bash
# usage: watch.sh <your_command> <sleep_duration>

while :;
  do
  clear
  date
  $1
  sleep
  $2
done

Questo e altre opzioni sono disponibili su Stack Overflow.

    
risposta data 06.04.2016 - 04:40
fonte

Leggi altre domande sui tag