Czy w systemie Darwin / OS X istnieje polecenie „watch”?

Odpowiedzi:

19

Nie ma natywnej alternatywy. Musisz nabyć watchkorzystając z Homebrew ( brew install watch) lub MacPorts ( port install watch), jeśli potrzebujesz rzeczywistego pliku wykonywalnego.

Możesz jednak emulować funkcję watch. Można tego dokonać w standardowej pętli bash while ( z Stack Overflow Daniela Pittmana ):

Możesz emulować podstawową funkcjonalność za pomocą pętli powłoki:

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

To będzie zapętlało się na zawsze, wyczyści ekran, uruchomi polecenie i zaczeka dwie sekundy - podstawowa obserwacja implementacji twojego polecenia.

Możesz pójść o krok dalej i stworzyć skrypt watch.sh, który będzie akceptował twoje polecenie i czas_śpienia jako parametry:

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

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

To i inne opcje są dostępne w przepełnieniu stosu.

NetherLinks
źródło