w
1

watchexec:文件变化时自动执行命令

watchexec 是一个命令行工具,用于监视当前目录中的文件变化,并在变化发生时执行指定命令。它适合自动启动构建流程、重启开发服务器、检测活动,减少反复手动按回车执行命令的操作。

链接直达

watchexec:文件变化时自动执行命令

原站网页截图,页面可能随时间更新。

watchexec 面向需要持续关注文件变化的开发和命令行工作流程。它可以在当前目录文件发生变化后运行命令,也能用于启动构建过程、重启开发服务器或检测活动。官网还展示了对扩展名筛选、重启模式和交互式程序的支持信息。

用途与适用场景

watchexec 的核心用途是监视当前目录中的文件变化,并在检测到变化后执行命令。对于需要频繁修改文件、重新构建或重新启动进程的工作,它可以减少重复输入命令的次数。

官网列出的典型用途包括启动构建流程、重启开发服务器以及检测活动。示例中展示了运行 make、将 date 的输出追加到 changes.log,以及在 JavaScript 文件变化时重启 node server.js。

  • 适合需要根据文件变化自动执行命令的命令行场景
  • 可用于构建过程和开发服务器重启
  • 也可用于持续检测目录活动

准备与上手

使用 watchexec 前,需要准备一个可在命令行中执行的目标命令,并在需要监视的工作目录中运行它。官网示例以当前目录为监视范围,直接将命令写在 watchexec 后面。

基础形式是运行 watchexec,再接要执行的命令。例如官网展示了 watchexec make。若需要只关注特定类型的文件,可以结合扩展名筛选;示例使用 js、mjs,并在变化后执行 node server.js。

  1. 进入需要监视的工作目录
  2. 确定文件变化后要执行的命令
  3. 使用 watchexec 加上目标命令启动监视
  4. 根据需要设置扩展名筛选、重启或交互模式

watchexec 监视什么位置?

官网说明它会监视当前目录中的文件变化。

必须使用 JavaScript 或 Rust 项目吗?

资料没有限定项目语言。官网示例包含 JavaScript 命令,也展示了 make 等通用命令。

主要功能

watchexec 能在文件变化时运行命令,并支持根据文件扩展名缩小触发范围。官网示例通过 --exts 指定 js、mjs,变化后运行 node server.js。

工具还提供重启模式,官网以 --restart 展示其用于文件变化后的命令重启。另有 --interactive 相关示例,用于处理交互式命令;发布说明指出,jj log、less 等交互式程序现在可以直接与 watchexec 配合使用,但不应同时使用 watchexec 自身的 --interactive 模式。

官网资料还介绍了 watchexec library,可用于创建自定义的文件监视工具,并自行处理选项、过滤规则以及不同事件的响应方式。

  • 文件变化触发命令执行
  • 按文件扩展名筛选变化
  • 支持命令重启模式
  • 支持交互式程序场景
  • 提供可构建自定义监视工具的库

能否只监视某些文件类型?

可以,官网示例使用 --exts 指定 js、mjs 扩展名。

watchexec 能重启开发服务器吗?

可以,官网将重启开发服务器列为用途,并展示了 --restart 示例。

它只能执行固定的构建命令吗?

资料显示它可以执行用户指定的命令,示例包括 make、date 和 node server.js。

交互式程序与发布信息

官网发布说明称,CLI v2.8.0 改善了交互式程序的使用体验。jj log、less 等程序可以直接与 watchexec 配合使用,前提是不使用 watchexec 自身的 --interactive 模式。

同一发布说明还提到,v2.8.0 修复了生成的手册页 Markdown 版本遗漏撇号的问题。资料显示该版本发布于 10 月 6 日,并包含相关修复提交。

  • CLI v2.8.0 包含交互式程序相关改进
  • 发布说明提到 jj log 和 less 等程序
  • 该版本修复了手册页 Markdown 内容问题

限制与注意事项

watchexec 的工作方式依赖命令行环境和可执行的目标命令。资料只说明它会响应当前目录中的文件变化,因此具体哪些文件会触发执行、命令如何运行以及项目本身如何构建,仍取决于所使用的命令和工作目录。

交互式程序虽然已获得发布说明中的改进,但资料明确指出,使用这些程序时不要同时启用 watchexec 自身的 --interactive 模式。除此之外,官网资料没有给出操作系统支持范围、安装方式、资源消耗、性能指标或价格信息,不能据此作进一步判断。

  • 需要在命令行环境中运行目标命令
  • 监视范围以当前目录为基础
  • 具体构建或启动行为取决于目标命令
  • 交互式程序场景不要使用 watchexec 自身的 --interactive 模式

watchexec 是否包含构建工具?

资料显示它负责在文件变化时执行命令;官网示例使用 make,但没有说明 watchexec 自身包含 make。

是否能据官网资料判断它支持哪些操作系统?

当前资料没有列出完整的操作系统支持范围,因此无法确定。

是否能据资料判断它的价格或版本历史?

资料没有提供价格信息;只明确展示了 CLI v2.8.0 的发布说明。

常见问题

watchexec 适合把“文件发生变化”作为触发条件的重复命令流程。用户可以从简单命令开始,再按需要加入扩展名筛选、重启或交互式程序相关设置。

最简单的使用方式是什么?

在目标目录中运行 watchexec,并在后面提供要执行的命令;官网示例为 watchexec make。

文件变化后命令是执行一次还是可以持续运行?

工具会持续监视目录,并在文件变化时执行命令;资料同时展示了用于重启相关进程的模式。

watchexec 是否提供开发库?

官网介绍了 watchexec library,可用于创建自定义的文件监视工具,并自定义选项、过滤规则和事件响应方式。


访问软件官网 · 查看资料来源

相关推荐

N

Neovim 是一款基于 Vim 的文本编辑器,强调可扩展性、易用性和跨环境使用。它支持 Lua 插件、Vimscript、LSP、Tree-sitter、终端,以及通过 RPC 连接的图形界面和其他扩展。

D

DBeaver Community 是一款免费、开源的通用数据库管理工具,适合个人项目。它支持连接和探索 MySQL、MariaDB、PostgreSQL、SQLite、SQL Server、Apache 家族等关系型数据库,并提供数据编辑、SQL 编辑、元数据管理、任务管理和数据库维护工具。

T

Tracely-ai 将 AI Agent 的生产追踪、质量评估、故障聚类和回归测试连接起来。它可以接收 Agent trace,对对话、运行或单个 span 进行评估,将失败运行冻结为可重放测试,并在 Pull Request 中发现回归时阻止合并。

s

simutil 是面向移动开发和测试的设备工具集,提供桌面应用、TUI 与 CLI。它可启动、关闭、连接、投屏、控制、录制安卓和苹果设备,并支持批量场景执行、日志查看、插件扩展及脚本自动化。

g

git-delete-merged-branches 是一个用于整理 Git 仓库的命令行工具,可识别多种已合并分支,并在确认后删除本地及远程分支,适合需要定期维护分支环境的开发者。

评论

暂无评论,来抢沙发~