所以我想将Opera浏览器中的特定“协议”与OSX上的shell脚本相关联。
在Opera中,我做了:
现在,当我去myProtocol://some.url.or.other时,opera正在调用我的脚本。但是,$ *表示传递给脚本的唯一参数是OSX PSN。
即。在脚本中行
echo $0 called with $*
输出
/Users/me/bin/myScript.sh called with -psn_0_4588640
为什么用PSN作为cmd线来调用它?为什么不是URL?在ubuntu Opera上传递URL,OSX是什么?
我可以通过网址调用它吗?它是否可以作为环境变量使用?
答案 0 :(得分:0)
Opera似乎使用Apple命令打开来打开传入的文件
这将启动应用程序,然后使用Launch Services向其发送Apple事件 http://developer.apple.com/documentation/Carbon/Conceptual/LaunchServicesConcepts/LSCConcepts/LSCConcepts.html
因此,要打开文件,应用程序将启动,然后必须响应苹果事件
您的应用程序必须是完整的OSX应用程序,而不仅仅是脚本
命令行上的-psn从工作区
中获取