J'ai un script que j'essaye de porter de Linux vers Darwin / OS X. La version Linux dépend actuellement de la watch
commande, qui ne semble pas être installée sur Darwin / OS X par défaut. Quelle est l'alternative native?
J'ai un script que j'essaye de porter de Linux vers Darwin / OS X. La version Linux dépend actuellement de la watch
commande, qui ne semble pas être installée sur Darwin / OS X par défaut. Quelle est l'alternative native?
Réponses:
Il n'y a pas d'alternative native. Vous devez acquérir en watch
utilisant Homebrew ( brew install watch
) ou MacPorts ( port install watch
) si vous avez besoin d'un exécutable réel.
Vous pouvez cependant émuler la fonction de watch
. Cela peut être accompli dans une boucle bash while standard ( de Stack Overflow par Daniel Pittman ):
Vous pouvez émuler les fonctionnalités de base avec la boucle shell:
while :; do clear; your_command; sleep 2; done
Cela restera en boucle pour toujours, effacera l'écran, exécutera votre commande et attendra deux secondes - la mise en œuvre de base de votre commande.
Vous pouvez aller un peu plus loin et créer un script watch.sh qui peut accepter your_command et sleep_duration comme paramètres:
#!/bin/bash # usage: watch.sh <your_command> <sleep_duration> while :; do clear date $1 sleep $2 done
Cela et d'autres options sont disponibles sur Stack Overflow.