J'ai un script que j'essaye de porter de Linux vers Darwin / OS X. La version Linux dépend actuellement de la watchcommande, 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 watchcommande, 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 watchutilisant 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; doneCela 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.