6 个版本
0.1.5 | 2020 年 6 月 28 日 |
---|---|
0.1.4 | 2020 年 6 月 28 日 |
#947 在 文件系统
每月 31 次下载
15KB
328 行代码(不含注释)
rswatch
用于监控文件和目录,并在更改时执行命令的程序
用例
- 打印目录结构中修改、添加或删除的文件
- 对更改的文件执行命令
示例
rswatch src -{}
检查 src
目录中的更改并使用更改的文件运行 cat
rswatch src -
将更改的文件打印到标准输出
rswatch src -ke compile_and_run.sh
在 src
目录的任何更改时运行 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