打开Safari的终端命令

10
有没有一种通过终端命令打开一个给定URL的新Safari标签的方法?目前我只对在OSX上运行有效感兴趣。 我想使用该命令从Java应用程序中打开一个新标签页。
3个回答

19
如果Safari是你的默认浏览器,你只需要使用 <a href="your_url">link_text</a> 即可在Safari中打开链接。
open <url>
例如:
open http://www.google.com

您也可以使用该命令以其注册应用程序打开任何文件。


2
如果Safari不是您的默认浏览器,请使用open -a Safari <url>将您的解决方案与Moritz的解决方案混合。 - austin
这种方法有点用。但是至少在Ventura上,它也会同时启动默认浏览器。我还没有找到一个只在Safari未配置为默认浏览器时才启动Safari的解决方案。 - Joe Steele

10

有几种方法可以做到这一点。最简单的方法是使用/usr/bin/open

/usr/bin/open http://stackoverflow.com/

这将在标准浏览器中打开URL,或者 ...

/usr/bin/open -a Safari http://stackoverflow.com/

将明确使用Safari。

您还可以通过javax.script API(JSR 223)使用AppleScript,但我现在不知道语法。


你能告诉我/user/bin/打开方式和@bunting建议的方式之间的区别吗? - Giannis
/usr/bin/open 只是完整路径。如果您使用例如 ProcessBuilder 来执行它,您将需要完整路径。 - Moritz

1
您可以在MacOS上使用open命令。(有关此命令的更多信息,请参见man open)。
在您的情况下,您可以编写类似以下内容的内容:open -a Safari https://www.stackoverflow.com,然后它就会起作用。(注意:记得指定协议!)
另外,我编写了一个有用的脚本,可用于与MacOS中的Safari进行交互,其中这个脚本的一项选项正是您想要的,请在GitHub上查看它 https://github.com/antoniolanza1996/openSafariFromTerminal

这和现有的答案完全一样吗? :) - Giannis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接