首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >授权UNIX命令控制应用程序

授权UNIX命令控制应用程序
EN

Stack Overflow用户
提问于 2019-04-10 19:59:15
回答 1查看 158关注 0票数 0

我希望设置一个运行bbdiff命令的Automator,并将选定的文件传递给查找程序。

我创建了一个快速操作,并将其设置为在"Finder.app“中接收”文件或文件夹“。

然后,我添加了"Run脚本“操作,并将Shell设置为"/bin/bash",并将输入”作为参数“传递。剧本是:

代码语言:javascript
复制
/usr/local/bin/bbdiff "$1" "$2"

如果我从Automator或终端手动运行该脚本(用真正的文件名替换参数),它会提示我授权主机程序控制BBEdit,然后它就能工作了。

但是如果我从Finder运行它,我会得到以下错误:

操作“Run脚本”遇到了一个错误:“您必须允许bbdiff向BBEdit应用程序发送事件。使用tccutil reset AppleEvents重置系统权限,然后重试。错误:-1743“

我试着运行tccutil reset AppleEvents并再次运行该操作,但它显示了相同的错误。

我还尝试将bbdiff、/bin/bash和Finder添加到System > Privacy的可访问性和完整磁盘访问选项卡中,但没有什么改变。看起来,您需要向自动化选项卡添加一些东西,这是无法手动完成的。

如何使它允许像bbdiff这样的UNIX命令来控制应用程序?

更新:

我通过使用"Run AppleScript“操作(而不是使用"Run脚本”)来解决这个问题:

代码语言:javascript
复制
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脚本来说,这是行不通的,所以问题仍然存在。

EN

回答 1

Stack Overflow用户

发布于 2020-11-19 16:07:14

在我的例子中,我只需关闭当前打开的BBEdit,然后再次打开它,就可以修复它。在我的例子中,在错误出现之前,我正在做一个BBEdit更新。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55620453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档