我想在我的Mac上监视一个文件夹,然后执行一个bash脚本,将刚刚移动到或在监视目录中创建的任何文件/文件夹的名称传递给它。
当前回答
您可能想看一看(或者扩展一下)我的小工具kqwait。目前它只是坐在那里等待单个文件上的写事件,但是kqueue架构允许分层事件堆叠…
其他回答
我有一个关于这个的主旨,用法很简单
watchfiles <cmd> <paths...>
为了说明,下面的命令将在每次file1或file2更改时回显Hello World;默认的间隔检查是1秒
watchfiles 'echo Hello World' /path/to/file1 /path/to/file2
如果我想每5秒检查一次,我可以使用-t标志
watchfiles -t 'echo Hello World' /path/to/file1 /path/to/file2
-v开启verbose模式,显示调试信息 -q使监视文件安静地执行(将显示#,以便用户可以看到程序正在执行) -qq使监视文件完全安静地执行 -h显示帮助和用法
https://gist.github.com/thiagoh/5d8f53bfb64985b94e5bc8b3844dba55
Apple OSX文件夹操作允许您根据对文件夹采取的操作自动化任务。
我最终为macOS做了这个。我相信这在很多方面都很糟糕:
#!/bin/sh
# watchAndRun
if [ $# -ne 2 ]; then
echo "Use like this:"
echo " $0 filename-to-watch command-to-run"
exit 1
fi
if which fswatch >/dev/null; then
echo "Watching $1 and will run $2"
while true; do fswatch --one-event $1 >/dev/null && $2; done
else
echo "You might need to run: brew install fswatch"
fi
Facebook的看门人(watchman)在Homebrew上也很好用。它还支持过滤:
这两行代码在源目录上建立一个监视,然后进行设置 在名为buildme的触发器上运行一个名为miniify -css的工具 每当CSS文件被更改时。工具将被传递一个列表 改变文件名。 $ watchman watch ~/src $ watchman—trigger ~/src buildme '*.css'—mini -css
注意,路径必须是绝对的。
您可能想看一看(或者扩展一下)我的小工具kqwait。目前它只是坐在那里等待单个文件上的写事件,但是kqueue架构允许分层事件堆叠…
推荐文章
- 警告用户/local/mysql/data目录不属于mysql用户
- 在Mac OS X上使用鼠标聚焦(加上自动提升)
- 我在哪里可以找到Mac OS X Lion的“make”程序?
- 当我没有Mac的时候,在Mac/Safari上测试web应用程序
- Angular中相当于AngularJS $watch的东西是什么?
- 在Mac上安装MySQL后,使用ALTER USER语句重置MySQL root密码
- my.cnf文件在macOS上的位置
- 如何从Mac OS X上卸载MySQL ?
- 查找当前可执行文件的路径,不包含/proc/self/exe
- 在Mac上安装R -警告消息:设置LC_CTYPE失败,使用“C”
- 为什么cURL返回错误“(23)Failed writing body”?
- 节点和错误:EMFILE,打开的文件太多
- 如何使用命令行工具为Mac OS X创建一个漂亮的DMG ?
- 由于环境错误无法安装包:[Errno 13]
- Mac压缩没有__MACOSX文件夹?