在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