每次打算写个脚本把 Mac 上那些枯燥的重复操作自动化之前,我现在总会先逼自己想明白一个听起来不太酷的问题:万一跑歪了,我要怎么让它立刻停下来?
写个百十来行的脚本去自动唤起应用、读取本地表格、转换格式再写入目标文件夹,顺风顺水的时候确实特别爽快。可现实往往不按剧本来——系统冷不丁弹个权限确认框、网络抽风导致网页慢了半拍、源文件里混进了一行脏数据,又或者脚本刚跑到一半,我突然发现选错了输出目录。如果事先没有留好随时喊停的刹车开关,原本为了省下五分钟而写的自动化脚本,分分钟就会演变成一场耗时一小时的灾难救援。
吃过几次亏之后,我给自己的本地脚本立了套规矩。整个流程老老实实拆成输入、转换、输出和日志四步:源文件一律只读打开,绝不在代码里硬编码任何密码或 Token;中间转换的数据先丢进临时沙盒目录,等核对完文件数量和大小没问题了,再真正落盘;每一步都留下清晰的带时间戳日志。哪怕其中任何一环出了岔子,脚本也会干脆利落地报错退出,绝不带着半成品继续往下瞎跑。
要是非得控制图形界面不可,我也尽量先找原生快捷键或本地接口,实在没辙了才去碰屏幕坐标点击,并且一定加上 --dry-run 预演模式和超时机制。毕竟折腾自动化是为了让人更省心,先给脚本装上一颗随手够得着的停止按钮,我才能放心地喝着茶看它替我干活。
自动化 Mac 之前先留一个停止按钮