| Developer's Daily | Unix by Example |
| main | java | perl | unix | dev directory | web log |
|
watch − execute a program periodically, showing output fullscreen |
|
watch [−dhv] [−n <seconds>] [−−differences[=cumulative]] [−−help] [−−interval=<seconds>] [−−version] <command> |
|
watch runs command repeatedly, displaying its output (the first screenfull). This allows you to watch the program output change over time. By default, the program is run every 2 seconds; use -n or --interval to specify a different interval. The -d or --differences flag will highlight the differences between successive updates. The --cumulative option makes highlighting "sticky", presenting a running display of all positions that have ever changed. watch will run until interrupted. |
|
Note that command is given to "sh -c" which means that you may need to use extra quoting to get the desired effect. Note that POSIX option processing is used (i.e., option processing stops at the first non-option argument). This means that flags after command don’t get interpreted by watch itself. |
|
To watch for mail, you might do |
|
watch −n 60 from |
|
To watch the contents of a directory change, you could use |
|
watch −d ls −l |
|
If you’re only interested in files owned by user joe, you might use |
|
watch −d ’ls −l | fgrep joe’ |
|
To see the effects of quoting, try these out |
|
watch echo $$ watch echo ’$$’ watch echo "’"’$$’"’" |
|
You can watch for your administrator to install the latest kernel with |
|
watch uname -r |
|
(Just kidding.) |
|
Upon terminal resize, the screen will not be correctly repainted until the next scheduled update. All --differences highlighting is lost on that update as well. Non-printing characters are stripped from program output. Use "cat -v" as part of the command pipeline if you want to see them. |
|
The original watch was written by Tony Rems <rembo@unisoft.com> in 1991, with mods and corrections by Francois Pinard. It was reworked and new features added by Mike Coleman <mkc@acm.org> in 1999. |