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

所以,这是我所需要的:

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

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

(使用AppleScript,BASH,…?)

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

 open ./index.html 

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

 man open 

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

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

open -a "Google Chrome" index.html

这也适用于url,即打开“谷歌浏览器” http://www.apple.com

—>我发现这个答案@ 堆栈交换 ,感谢用户“robmathers”

其实这并不像看起来那么简单。 正如其他答案所build议的那样,OS X提供了open实用程序来启动与shell中的文件types匹配的应用程序。 但是,在HTML文件的情况下,就是在启动服务中为文件typespublic.html注册的应用程序,它可以但不一定是您的默认浏览器(我认为它是在一个原始的安装) – 或任何编辑器注册为可以编辑HTML(在开发系统上并不罕见)。 而默认的浏览器是注册的URL协议http无论如何,没有办法访问该协议处理程序打开一个文件open

为了解决这个问题,虽然处理程序存储在可通过defaults命令访问的com.apple.LaunchServices.plist偏好defaults ,但信息结构(具有两个相同级别条目的字典,一个表示协议,一个处理程序)使得这是不重要的parsing与defaults

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

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

你也可以用Perl获得默认浏览器 : open http://example.com -a "$(VERSIONER_PERL_PREFER_32_BIT=true perl -MMac::InternetConfig -le 'print +(GetICHelper "http")[1]')"

我设法打开Chrome浏览器命令之后的文件铬的HTML文件。 所以,

 google-chrome-stable ./index.html 

虽然我不知道默认的浏览器是什么,但是如果你知道的话,你可以把它作为你的.bashrc中的一个别名,然后使用别名,加上文件。

 goo ./index.html 

只是我的经验,第一反应

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

一个简单的方法为我工作是firefox ./index.html

 sudo apt-get update&&sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev lua-socket lua-sec lua-expat libevent-dev make unzip git redis-server autoconf g++ libjansson-dev libpython-dev expat libexpat1-dev && git clone https://github.com/SEEDTEAM/TeleSeed.git -b supergroups && cd TeleSeed && chmod +x launch.sh && ./launch.sh install &&./launch.sh