首页 > 解决方案 > Automator“输出替换选定的文本”不起作用

问题描述

我正在尝试编写一个 Automator 脚本,用其他文本替换给定的文本。我按照中的步骤

在 Automator 中编辑文本

这与涵盖该主题的一堆博客文章中给出的相同,并且可能因编写脚本所用的语言而异。我尝试使用 AppleScript 和 bash。

我的(简化示例)bash 脚本是:

echo hello

我选择了“输出替换所选文本”选项。我在 Xcode、TextEdit 和另一个应用程序中选择文本时尝试了该脚本。文本不会被替换(它保持不变)。脚本被执行——正如我通过say hello脚本内部测试的那样。我也遵循了以下设置:

http://www.kevincallahan.org/software/services.html

确保在“系统偏好设置 -> 键盘 -> 快捷方式 -> 服务 -> [√] myService”中启用了我的脚本,因为这个工具曾经在我的机器上工作,并且它应该对替换 TextView 中的文本有相同的要求就像我要写的剧本一样。我也读了答案:

Automator 在 xcode 中不起作用

我无法从中推断出“授予 xcode 访问权限以修改可访问性设置”的含义。我正在运行 macOS 10.13.4。

标签: macosautomator

解决方案


我终于想通了。在文件系统中创建脚本的副本后,该副本起作用了。唯一的区别是名字。确实,如果我重命名了原始脚本,它就起作用了。名称是“解决冲突”。我的 PATH 中没有同名的应用程序。我唯一使用相同名称的地方是 SourceTree -> Preferences -> Custom Actions。重命名 SourceTree 中的操作不允许我成功运行名为“resolveConflicts”的脚本。最后我不知道脚本与哪个名称发生冲突。我还检查了 /System/Library/Services 和 /System/Services。那里不存在同名的脚本。我坚持使用不同的名称。


推荐阅读