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