¿Cómo puedo canalizar contenido HTML a Safari a través de la línea de comandos?

0

Tengo una situación en la que obtengo contenido HTML a través de una canalización. Me gustaría mostrarlo en una ventana del navegador. Pero el paso obvio,

somethingThatProducesHTMLonStdout | open -f -a "Safari"

no funciona: Safari muestra el contenido, pero como texto sin formato ; no renderiza el HTML. Sé a ciencia cierta que mi contenido HTML es contenido HTML válido. De hecho, es fácil demostrar este problema con un caso de prueba trivial:

echo "<html><body>foo</body></html>" | open -f -a "Safari"

hace lo mismo: muestra texto sin formato, no contenido representado. No sé por qué Safari insiste en hacer esto. ¿Cuál es el secreto para hacer que genere el HTML?

Nota: Sé que puedo hacer que esto funcione al guardar el contenido en un archivo temporal y luego abrir el archivo temporal. Quiero que funcione sin usar un archivo temporal , si es posible.

    
pregunta mhucka 04.08.2017 - 22:15

1 respuesta

2

Puedes usar algo como

echo '<html><body><h2>Hi, there!</h2>foo</body></html>' > /tmp/x.html && open -a "Safari" /tmp/x.html

Ingresé un código HTML que contiene un signo de exclamación para mostrar que necesitas usar comillas simples para el shell, de lo contrario, lo interpretará como una recuperación del historial. Sí, más tiempo y necesita un nombre de archivo, pero puede usar su herramienta somethingThatProducesHTMLonStdout de su pregunta.

    
respondido por el Arminius 11.08.2017 - 22:22

Lea otras preguntas en las etiquetas