# Automator 手册第七章：“为什么我用不了？”——自动化工具常见问题排查

> 本文公开全文。

原文：https://utgd.net/article/20226

分享一个自动化动作后，最常遇到的提问就是“为什么我用不了？”。

这个问题，不附上具体症状、软硬件环境的话，基本不可能回答。毕竟自动化工具涉及的细节零零散散，每个人电脑电脑环境又各不相同，很难给出一个方案包治百病。不过，几年折腾下来，我已经梳理了不少常见问题，如果你也遇到“用不了”的问题，不妨照着本文所列内容排查一下，问题很可能迎刃而解。

本文内容，各章节已有零星涉及，如有重复，还请见谅。

## 为什么我的 Automator 动作用不了？

下载安装 Automator 动作后，结果发现没有如期运作，这的确让人沮丧。但多数问题通过简单设置是可以解决的。这节集中分析 Automator 本身可能出现的问题。

为什么 Automator 的小齿轮一转就停？

Automator 运行时会在电脑顶部状态栏显示一个小齿轮，表示执行状态。有时候齿轮可能刚转一下就消失，动作也没有结果。这说明动作实际上没有执行完毕或者干脆未曾执行过，可能的原因有：

- 网络不通/没有代理：有些动作依赖网络，比如以图搜图，没有正常联网的情况下自然出师未捷身先死。另外，部分代理工具可能没有给 Automator 开绿灯，如果浏览器可以正常使用而 Automator 动作跑不起来，需要检查一下代理设置。

- 输入格式不对：如果动作中包含 Shell 脚本，需检查一下输入格式是否和脚本语法匹配。比如说处理文件，输入“至 stdin”和 while 循环搭档，而“作为自变量（as arguments）”和 for 搭配。

两种组合功能基本等价，通常情况下只需要关注搭配而不用考虑哪组更好（除非你用 Automator 处理几个数据库，while 才表现出速度上的优势，不过这种情况下断断不该用 Automator 这根绣花针）。

为什么我设置的快捷键不起作用？

Automator 动作可以在系统键盘设置中绑定快捷键，不过偶尔也会失效。一般失效是键位冲突造成的，可以按下面的步骤检查：

- 直接在 Automator 内部运行动作，确保动作本身没有问题。

- 检查应用快捷键，有些应用的自带键位比较难排查，没头绪的情况下可以挨个退出 Dock 和菜单栏上的应用，将鸠占鹊巢的家伙扒出来。

- 实在查不出来，才重新分配快捷键。

针对不依赖第三方工具的动作，检查上面几项设置可以过滤掉不少问题。

## 为什么我的 Shell 脚本不能用？

Shell 脚本是拓展 Automator 能力的重要工具，相对图形界面，它掌握起来难一点，也经常听到读者“用不了”的抱怨。一般是各人电脑环境不同造成的，也有动手意愿强的朋友，自行修改时不慎“翻车”。下面几条可以帮助诸位进行速查：

为什么第三方命令行工具用不了（找不到命令）？

如果你的 Shell 脚本中用了第三方工具，比如，用于解压 unrar，发现它在终端中可以跑、在 Automator 里却不能用，大概率是没有设置环境变量。在脚本开头加上下面内容，通常就能让 Automator 顺利调用第三方命令行工具：PATH=$PATH\:/usr/local/bin/。

为什么我的脚本不能识别中文？

平时用着正常，一处理中文名文件、搜索中文关键词 Automator 就罢工，很可能是没有为中文字符设置环境变量。和上一条类似，在脚本开头加上如下内容即可：\#export LANG="en\_US\.UTF\-8"。

为什么 Automator 说找不到文件？

Shell 脚本对文件路径要求比较严格，如果出现空格、~ 等特殊字符，很可能出现歧义而报错。注意下面两点，可以避免很多文件路径带来的问题：第一写固定路径时，比如指定一个文件存放地，可以把文件先拖进终端以获得编码过的路径，再把这条路径复制进 Shell 脚本；第二，用到变量时，在两边用英文引号 "" 包起来，即便出现特殊字符也不太要紧。还有种特殊情况，就是某些命令不支持格式简短的相对路径（比如这种 ~/Desktop），其他方法无效时可以试试把路径写死。

脚本存在的具体问题不胜枚举，这里且记录一些最常见的小毛病。

## 为什么不能安装第三方命令行工具？

第三方命令行工具（CLI，Command Line Tools）也是 Automator 的强化组件之一，很多动作（OCR 处理 PDF、解压 RAR 文件等等）都要额外安装第三方命令行工具。也许就有读者卡在安装这一步上。

为什么 brew install 某某软件 命令无效？

这条命令是包管理器 HomeBrew 独有的，没装过 HomeBrew 的电脑自然用不了。虽说没人强制我们用 HomeBrew 来装命令行工具，但有个标准环境总是好的，否则日后若因为包管理不善而出问题，想找人搭把手都难。不熟悉 HomeBrew 的可以通过私信我要入门文章。

为什么我的 HomeBrew 一直卡在 Updating HomeBrew？

我们所用网络的状况路人皆知。出现这个提示不影响使用，实在卡得久了，可以按 ⌃Control\-C 跳过。

为什么提示我安装 Command Line Tool？

有的命令行工具依赖 Command Line Tool，这是开发工具 Xcode 的一部分，看到相关提示时复制终端给你的命令，装上就是。安装 Command Line Tool 时并不会跟着装上 Xcode，所以不用担心磁盘空间占用问题。

HomeBrew 是管理 macOS 软件的重要标准化工具，实际使用时还有别的问题，不过我们的焦点还是自动化工具，至于起辅助作用的 HomeBrew 专属细节，本系列文章暂不深挖。

## 小结

小病无需挂门诊，收到大量的重复提问后，我整理了这一份清单，希望帮大家节省时间，不耽误正常使用。换个角度看，如果运行成功就沾沾自喜、运行失败则摆摆手不知所措，使用自动化工具也就变成了碰运气；最常见的一些故障，最好能够独立排查。

鱼人不如渔人，有这样一份速查清单，相信大家也能把自动化工具用得更舒服。

---

[前往标准阅读页](https://utgd.net/article/20226?audience=web)
