1

所以我想将我的 Opera 浏览器中的特定“协议”与 OSX 上的 shell 脚本相关联。

因此,在 Opera 中,我这样做了:

  1. <打开首选项对话框>
  2. 高级选项卡 -> 程序
  3. 添加了“myProtocol”并将其设置为与其他应用程序“~/bin/myScript.sh”一起打开
  4. 应用设置等

现在,当我转到 myProtocol://some.url.or.other 时,opera 正在调用我的脚本。但是,$* 表明传递给脚本的唯一参数是 OSX PSN。

即在脚本中的行

echo $0 called with $*

输出

/Users/me/bin/myScript.sh called with -psn_0_4588640

为什么用 PSN 作为 cmd 行来调用它?为什么不是网址?在 ubuntu Opera 上传递 URL,OSX 是什么?

我可以让它用 URL 调用它吗?它是否可以作为环境变量使用?

4

1 回答 1

0

Opera好像是用苹果命令open打开传入的文件

这会启动应用程序,然后使用启动服务http://developer.apple.com/documentation/Carbon/Conceptual/LaunchServicesConcepts/LSCConcepts/LSCConcepts.html向其发送 Apple 事件

所以要打开一个文件,应用程序将被启动,然后必须响应一个苹果事件

您的应用程序必须是完整的 OSX 应用程序,而不仅仅是脚本

命令行上的 -psn 来自工作区

于 2009-08-17T15:46:22.030 回答