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

时间:2012-04-04 07:51:14

标签: html macos bash browser applescript

所以,这就是我需要的:

假设我有index.html个文件。

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

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

8 个答案:

答案 0 :(得分:58)

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

open ./index.html

open命令打开文件(或目录或URL)。 open包含在MacOSx中。可以使用

找到细节和选项
man open

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

答案 1 :(得分:23)

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

open -a "Google Chrome" index.html

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

--->我找到了这个答案@ stack exchange,感谢用户“robmathers”

答案 2 :(得分:14)

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

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

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

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

答案 3 :(得分:3)

您还可以get the default browser with Perlopen http://example.com -a "$(VERSIONER_PERL_PREFER_32_BIT=true perl -MMac::InternetConfig -le 'print +(GetICHelper "http")[1]')"

答案 4 :(得分:1)

我设法通过在浏览器命令后放置文件来打开带有chrome的html文件。所以,

google-chrome-stable ./index.html

虽然我不确定对默认浏览器的调用是什么,如果你知道它可以把它作为.bashrc中的别名,从那时起,使用你所谓的别名,加上文件。

goo ./index.html

只是我的经验,第一反应

答案 5 :(得分:1)

在终端中,您可以运行open index.html

答案 6 :(得分:1)

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

open filename.html

open是一个非常好的命令,也是Mac OS的功能,它使我更深地爱上它。 它会自动选择适当的默认应用程序来打开文件。

如果要在所需的应用中打开文件,而不要使用默认值:

open -a /Applications/Google\ Chrome.app filename.html

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

或者您可以写:

open -a "/Applications/Google Chrome.app" filename.html

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

答案 7 :(得分:-2)

对我有用的一个简单方法是firefox ./index.html