外观
04 · 自动化与脚本
入门篇的第十篇:自动化讲的是用现成工具减少重复操作。这一章往下走一层:让任务在你不在场的时候按时间或事件自己发生,并且在出错时留下可以查的记录。
自动化最大的风险不是写错脚本,而是写了一个悄悄失败的脚本——你以为备份在跑,其实三个月前就停了。所以本章每一篇都要求先解决「怎么知道它没在工作」。
学习目标与前置条件
你需要能读懂命令输出、编辑配置文件,见第十一篇:终端与命令行。涉及路径与权限的部分,建议先读05 · 系统内部的目录结构与 TCC 两篇。
完成本章后,你应能让一个脚本按计划运行、在系统日志里查到它的每次执行结果,并且知道怎么彻底停掉它。
阅读顺序
- 用 launchd 让任务按时间和事件运行:macOS 的原生调度机制,取代 cron。
- AppleScript 与 JXA:驱动图形应用:控制没有命令行接口的软件。
- 快捷指令与脚本互相调用:把图形化流程和命令行接起来。
- 文件监听与批处理:按文件变化触发,安全地批量处理。
本章实践
每写一个自动化任务,同时回答三个问题:它失败时会怎样?我从哪里能看到它失败了?我怎么关掉它?
三个问题都答不上来的任务不要启用。尤其是涉及删除、移动、覆盖文件的脚本——先用只打印不执行的方式跑一遍,确认它要动的正是你想动的东西,再放开手。测试一律在可丢弃的目录里进行,不要拿真实文档试第一版脚本。