Shell OSX上带有PSN的Opera调用脚本

Shell OSX上带有PSN的Opera调用脚本,shell,scripting,opera,protocols,Shell,Scripting,Opera,Protocols,因此,我想将Opera浏览器中的特定“协议”与OSX上的shell脚本相关联 因此,在歌剧中,我做到了: 高级选项卡->程序 添加了“myProtocol”,并将其设置为与其他应用程序“~/bin/myScript.sh”一起打开 应用设置等 现在,当我去myP的时候rotocol://some.url.or.other,opera正在调用我的脚本。但是,$*显示传递给脚本的唯一参数是OSX PSN i、 e.在脚本行中 echo $0 called with $* 输出 /Users/me

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

因此,在歌剧中,我做到了:

  • 高级选项卡->程序
  • 添加了“myProtocol”,并将其设置为与其他应用程序“~/bin/myScript.sh”一起打开
  • 应用设置等
  • 现在,当我去myP的时候rotocol://some.url.or.other,opera正在调用我的脚本。但是,$*显示传递给脚本的唯一参数是OSX PSN

    i、 e.在脚本行中

    echo $0 called with $*
    
    输出

    /Users/me/bin/myScript.sh called with -psn_0_4588640
    
    为什么用PSN作为命令行来调用它?为什么不是URL?在ubuntu Opera上传递URL,OSX有什么用


    我能让它用URL来调用它吗?它将作为环境变量使用吗?

    Opera似乎使用Apple命令open来打开传入的文件

    这将启动应用程序yhen使用启动服务向其发送一个Apple事件

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

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


    命令行上的-psn是从工作区中弹出的

    。它在linux上运行——遗憾的是,同样快速而肮脏的修复在这里也不起作用。谢谢