21 votes

Existe-t-il une commande `watch` native de Darwin/OS X ?

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 ?

29voto

NetherLinks Points 2547

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.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X