#directory #change #monitoring #changed #process #executing #command

bin+lib rswatch

用于监控文件和目录,并在更改时执行命令的程序

6 个版本

0.1.5 2020 年 6 月 28 日
0.1.4 2020 年 6 月 28 日

#947文件系统

每月 31 次下载

MIT 许可证

15KB
328 行代码(不含注释)

rswatch

用于监控文件和目录,并在更改时执行命令的程序

用例

  • 打印目录结构中修改、添加或删除的文件
  • 对更改的文件执行命令

示例

rswatch src -{} 检查 src 目录中的更改并使用更改的文件运行 cat

rswatch src - 将更改的文件打印到标准输出

rswatch src -ke compile_and_run.shsrc 目录的任何更改时运行 compile_and_run.sh。如果进程仍在运行,例如程序处于循环状态,则将其终止而不是等待(使用 ---kill 标志)

这对于创建在循环中运行或等待用户输入的交互式应用程序很有用。-k 标志将终止进程并重新启动它,而不是等待其完成。

在终端中设置此脚本可以用于在保存时自动重新构建和运行测试

退出

在终端中使用 Ctrl-C(SIGINT)将终止正在运行的子进程,如果子进程没有运行,它将提示确认退出,只需输入 y 或 enter 即可退出

这是为了防止在终止子进程时意外退出 rswatch

用法

使用 rswatch --help 访问

-, --(unnamed) [required]
    Specify which files and/or directories to watch

-h, --help 
    Show usage

-p, --print 
    Print modified files and directories to stdout

-v, --verbose 
    Verbose output

-i, --interval 
    Time in milliseconds between checks (default 100)

-k, --kill 
    Specifies to kill the child process `exec` rather than wait for it

-c, --clear 
    Clears the screen before restarting childprocess `exec`

-s, --start 
    Start the process `exec` on startup instead of waiting for a file to change before doing so

-e, --exec 
    Command to execute when files change
    All following arguments are given to the specified command
    {} is to be replaced by the changed files, to run command for each changed file separately
    Watch is not blocked during execution when process is spawned but will wait until previous finished before rerunning next check
    To kill and restart process rather than waiting, use option --kill

依赖项

~1.6–8.5MB
~73K SLoC