2012-04-04 49 views

Respuesta

40

desde el directorio que contiene index.html, tratar ...

open ./index.html 

la orden de apertura se abre un archivo (o directorio, o URL) abrir está incluido con MacOSx. los detalles y las opciones se pueden encontrar usando

man open 

nota: la aplicación predeterminada se determina a través de LaunchServices.

+0

que abrirá el archivo HTML en el valor por defecto ** ** editor o el espectador, que no está garantizado ser el navegador. Ver [mi respuesta] (http://stackoverflow.com/a/10250717/990363) para una solución que funciona sin importar qué. – kopischke

14

En realidad, esto no es tan sencillo como parece. Como sugieren las otras respuestas, OS X proporciona la utilidad open para iniciar aplicaciones que coincidan con un tipo de archivo desde el shell. Sin embargo, en el caso de un archivo HTML, esa es la aplicación registrada con Servicios de inicio para el tipo de archivo public.html, que puede ser, pero no necesariamente, su navegador predeterminado (creo que está en una instalación prístina) o lo que sea editor registra como capaz de editar HTML (no es una ocurrencia poco común en un sistema de desarrollo). Y mientras el navegador por defecto se ha registrado para el protocolo URL http no importa qué, no hay manera de acceder a ese controlador de protocolo para abrir un archivo con open.

Para agravar el problema, aunque los manipuladores se almacenan en las com.apple.LaunchServices.plist preferencias accesibles a través del comando defaults, la estructura de la información (un diccionario con dos entradas de nivel mismas, uno que indica el protocolo, uno el manejador) hace que sea no -trivial para analizar con defaults.

La buena noticia es que alguien ya ha resuelto ese problema: HAMsoft Engineering ofrece la utilidad de shell DefaultApplication. Download it y guárdelo en algún lugar donde sea accesible para el shell (generalmente /usr/local/bin, aunque eso no está en la ruta predeterminada para las shells en algunas versiones de OS X - verifique el contenido de /etc/paths para estar seguro). Eso, el comando disponible después se abrirá un archivo HTML en el navegador por defecto, sea cual sea editor/espectador puede ser registrado de otro modo:

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

Muy buena solución. ¿Qué hay de malo con simplemente poner 'file: ///' delante de la ruta? – tresf

+1

@QZSupport, debe preguntar, ya que esa fue mi primera idea cuando me propuse responder a esto, pero hay dos piedras de tropiezo: 1. necesita codificación URL para manejar cosas como espacios en los nombres de archivos y 2. no funciona para rutas de archivos con un protocolo de red como 'smb:' o 'afp:'. – kopischke

22

Puede utilizar el comando abierto con la opción -a para abrir un archivo o ubicación en Chrome (o cualquier aplicación de destino):

open -a "Google Chrome" index.html

Esto también funciona con direcciones URL, es decir -a abierta " Google Chrome "http://www.apple.com.

---> He encontrado esta respuesta @stack exchange, gracias al usuario "robmathers"

+2

El requisito era usar el 'navegador predeterminado', por lo que al especificar Google Chrome, no cumplió con los requisitos. – tresf

-2

Un método simple que funcionó para mí es firefox ./index.html

1

me las arreglé para abrir el archivo html con cromo colocando el archivo después del comando del navegador. así,

google-chrome-stable ./index.html 

aunque no estoy seguro de lo que la llamada sería el navegador por defecto, si usted sabía que usted podría ponerlo como un alias en su .bashrc y de ahí en adelante, cualquiera que sea el uso que llamó su alias, más el archivo.

goo ./index.html 

sólo mi experiencia, la primera respuesta

1

En el terminal puede ejecutar index.html abierta

Cuestiones relacionadas