I’ve been disappointed that the Mac OS doesn’t provide a watch command. It’s a very useful command, so its absence from the operating system has always baffled me. Well, after using simple bash before, I finally implemented a better replacement in python.
Here is version 0.1
#!/usr/bin/env python
import os
import time
import datetime
import sys
INTERVAL_SECONDS = 2
if len(sys.argv) == 1:
print ('USAGE: %s command' % (sys.argv[0]))
if __name__ == '__main__':
args = sys.argv[1:]
cmd = []
for item in args:
item = item.replace('"', '\\"')
if ' ' in item:
item = '"%s"' % item
cmd.append(item)
cmd_string = ' '.join(cmd)
# watch loop
try:
while 1:
os.system('clear')
head = 'watch - %s' % datetime.datetime.now().isoformat()
subhead = '$ %s\nrepeating every %s seconds\n' % (cmd_string, INTERVAL_SECONDS) + '=' * 60
print(head)
print(subhead)
os.system(cmd_string)
time.sleep(INTERVAL_SECONDS)
except KeyboardInterrupt:
print ("")
exit()
Leave a Reply