使用Mac上的Bash使用默认浏览器打开.html文件

Dor*_*rBB 57 html browser macos bash applescript

所以,这就是我需要的:

假设我有一个index.html文件.

如何告诉终端使用默认浏览器打开它?

(使用AppleScript,BASH,...?)

kev*_*vin 62

从包含index.html的目录中,尝试...

open ./index.html
Run Code Online (Sandbox Code Playgroud)

open命令打开一个文件(或目录或URL).open包含在MacOSx中.使用可以找到具体和选项

man open
Run Code Online (Sandbox Code Playgroud)

注意:默认应用程序是通过LaunchServices确定的.

  • 这将在默认的 **editor 或 viewer** 中打开 HTML 文件,这不能保证是浏览器。请参阅 [我的回答](http://stackoverflow.com/a/10250717/990363) 以获取无论如何都有效的解决方案。 (2认同)
  • 这是最简单的答案,也是正确的,以防有人偶然发现这一点。 (2认同)

小智 23

您可以使用带-a标志的open命令在Chrome(或任何目标应用程序)中打开文件或位置:

open -a "Google Chrome" index.html

这也适用于网址,即打开-a"Google Chrome" http://www.apple.com.

--->我发现这个答案@ stack exchange,感谢用户"robmathers"

  • 要求是使用"默认浏览器",因此通过指定Google Chrome,您无法满足要求. (3认同)

kop*_*hke 14

实际上,这并不像看起来那么简单.正如其他答案所示,OS X提供了open实用程序来启动与shell中的文件类型匹配的应用程序.但是,对于HTML文件,这是使用Launch Services为文件类型public.html注册的应用程序,它可以但不必是您的默认浏览器(我认为它是在原始安装上) - 或者任何编辑器注册为能够编辑HTML(在开发系统上不常见).虽然默认浏览器是为URL协议http注册的,但无论如何都无法访问该协议处理程序以打开文件open.

为了解决这个问题,尽管处理程序存储在com.apple.LaunchServices.plist可通过defaults命令访问的首选项中,但信息的结构(具有两个相同级别条目的字典,一个表示协议,一个表示处理程序)使得解析它变得非常简单defaults.

好消息是有人已经解决了这个问题:HAMsoft Engineering提供了DefaultApplication shell实用程序.下载并将其保存在shell可访问的地方(通常/usr/local/bin,虽然这不是某些OS X版本上的shell的默认路径 - 请检查内容/etc/paths以确保).可用,以下命令将在默认浏览器中打开HTML文件,否则可能会注册任何编辑器/查看器:

open -a "$(/usr/local/bin/DefaultApplication -url 'http:')" "/path/to/your/document.html"
Run Code Online (Sandbox Code Playgroud)


Van*_*hah 7

要在默认浏览器中打开 filename.html,请使用:

open filename.html
Run Code Online (Sandbox Code Playgroud)

open是一个非常好的命令,也是Mac OS的一个特性,让我对它的喜爱更加深入。它会自动选择适当的默认应用程序来打开文件。

如果您想在所需的应用程序而不是默认应用程序中打开文件:

open -a /Applications/Google\ Chrome.app filename.html
Run Code Online (Sandbox Code Playgroud)

Google 后面的反斜杠\用于转义空格字符。

或者你可以写:

open -a "/Applications/Google Chrome.app" filename.html
Run Code Online (Sandbox Code Playgroud)

希望这对您(我知道我很晚了)和其他人有帮助!