Settings

Theme

Show HN: Execute a shell command each time a given file or directory changes

github.com

9 points by dinduks 13 years ago · 8 comments

Reader

shabble 13 years ago

I'm sure I've seen a nicely crossplatform command-line tool for this, but I can't seem to find it. The closest (by support for non-poll APIs) seems to be 'simplefilewatcher'[1], but that's just a C++ library.

incron, inotify, filewatcher[2], puncher[3], guard[4] are a bunch of existing ones, but they're all either not entirely functional cross-platform, or require some faffing with dependencies to get working.

[1] https://code.google.com/p/simplefilewatcher/

[2] https://github.com/thomasfl/filewatcher

[3] http://rawsyntax.com/blog/puncher-the-simple-file-watcher-fo...

[4] https://github.com/guard/guard

kseistrup 13 years ago

I'm aware that it's beyond the scope of cel, but I'd use incron anyday for jobs like this.

  • stephenr 13 years ago

    A better approach surely would be to wrap inotify/osx fsevents

    • lotsofcows 13 years ago

      That's what incron does...

      • stephenr 13 years ago

        On Linux yes, it doesn't exist on osx though. My point was that the author could have written his tool as cross platform without relying on an 'ls' every 100ms, by using the platform tools availble

  • dinduksOP 13 years ago

    Inotify is specific to Linux, while CEL isn't OS dependent.

    • osth 13 years ago

      Except if you account for the fact that some other UNIX-like OS do not use bash as /bin/sh.

      You could even say that using bash as /bin/sh "is specific to Linux."

      How to fix: /#!\/bin\/bash/s/bash/sh/

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection