我想设置一个运行bbdiff
命令的Automator快速操作,并将选定的文件传递给Finder。
我创建了一个快速操作,并将其设置为在“ Finder.app”中接收“文件或文件夹”。
然后,我添加了“运行Shell脚本”操作,并将shell设置为“ / bin / bash”,并将“作为参数”传递给Input。脚本是:
/usr/local/bin/bbdiff "$1" "$2"
如果我从Automator或Terminal手动运行该脚本(将参数替换为真实文件名),则会提示我授权主机程序控制BBEdit,然后它可以工作。
但是,如果我从Finder运行它,则会收到此错误:
“运行Shell脚本”操作遇到错误:“您必须允许
bbdiff
将事件发送到BBEdit应用程序。 使用tccutil reset AppleEvents
重设系统权限,然后重试。 bbdiff:错误:-1743”
我尝试运行tccutil reset AppleEvents
并再次运行该操作,但是显示了相同的错误。
我还尝试将bbdiff,/ bin / bash和Finder添加到“系统偏好设置”>“隐私”的“辅助功能”和“全盘访问”选项卡中,但是没有任何更改。看来您需要在“自动化”选项卡中添加某些内容,但这无法手动完成。
如何获取它以允许诸如bbdiff
之类的UNIX命令控制应用程序?
更新:
我设法通过以下脚本使用“运行AppleScript”操作而不是“运行Shell脚本”来解决此问题:
on run {input, parameters}
tell application "BBEdit" to compare (item 1 of input) against (item 2 of input)
return input
end run
我第一次运行它时,系统提示允许Finder控制BBEdit,然后它起作用了。
但这不适用于其他shell脚本,因此问题仍然存在。
答案 0 :(得分:1)
就我而言,我可以通过关闭当前打开的BBEdit并再次打开它来对其进行修复。就我而言,在出现错误之前我正在进行BBEdit更新。