Ich habe ein Skript, das ich versuche, von Linux nach Darwin/OS X zu portieren. Die Linux-Version hängt derzeit vom watch
Befehl ab, der anscheinend nicht standardmäßig auf Darwin/OS X installiert ist. Was ist die native Alternative?
Es gibt keine native Alternative. watch
Sie müssen von Homebrew ( brew install watch
) oder MacPorts ( ) erwerben , port install watch
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 grundlegende Funktionalität mit der Shell-Schleife emulieren:
while :; do clear; your_command; sleep 2; done
Das wird für immer eine Schleife durchlaufen, den Bildschirm löschen, Ihren Befehl ausführen und zwei Sekunden warten - die grundlegende Implementierung von watch your_command.
Sie können noch einen Schritt weiter gehen und ein watch.sh-Skript erstellen, das your_command und sleep_duration als Parameter akzeptieren kann:
#!/bin/bash # usage: watch.sh <your_command> <sleep_duration> while :; do clear date $1 sleep $2 done
Diese und andere Optionen sind auf Stack Overflow verfügbar.
rogerpack