Gibt es einen "Watch" -Befehl, der in Darwin / OS X enthalten ist?

Antworten:

19

Es gibt keine native Alternative. Sie müssen watchvon Homebrew ( brew install watch) oder MacPorts ( port install watch) lernen, wenn Sie eine tatsächliche ausführbare Datei benötigen.

Sie können jedoch die Funktion von emulieren watch. Dies kann in einer Standard-Bash-While-Schleife ( aus Stack Overflow von Daniel Pittman ) erreicht werden:

Sie können die Grundfunktionalität mit der Shell-Schleife emulieren:

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

Das wird für immer eine Schleife sein, den Bildschirm löschen, Ihren Befehl ausführen und zwei Sekunden warten - die grundlegende Implementierung von your_command.

Sie können noch einen Schritt weiter gehen und ein watch.sh-Skript erstellen, das Ihren Befehl und Ihre Schlafdauer als Parameter akzeptiert:

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

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

Diese und andere Optionen sind im Stapelüberlauf verfügbar.

NetherLinks
quelle