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"
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