答案在如何使用 URL 参数打开新的 Firefox 窗口在 Mac OSX Mountain Lion (10.8.2) 中出现故障。我无法对该答案或问题发表评论,因此我不得不创建一个新问题。
它失败了,像这样:
$ firefox-window http://www.yahoo.com
dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/osascript) is code signed with entitlements
新窗口成功打开,但它是空的(即,传递给 bash 函数中的 AppleScript 的环境变量被忽略)。
有没有其他方法可以从命令行将变量传递给 applescript?(也许不使用 bash?)
参考
“沙盒应用程序不能使用 AppleScript 与 Mac 上的其他应用程序通信,除非开发人员明确请求(并获得)这样做的权利。”
所以我猜测这个限制阻止了上面使用的技术,即 bash 脚本不能包装与 Firefox 对话的 applescript。
解决方法 #1
直接调用它,而不是使用 shell 变量 ($1)。例如,下面的代码有效:
$ osascript ~/bin/firefox-window.scpt "http://www.yahoo.com"
Firefox 打开一个指向 yahoo 的新窗口。
答案1
osascript -e 'tell application "Firefox"' -e 'open location "http://example.com/"' -e 'end tell'
这样就可以了,在新标签页中,而不是在新窗口中,如果可以的话。