Come posso ridisporre il contenuto HTML a Safari tramite la riga di comando?

0

Ho una situazione in cui ottengo contenuti HTML tramite pipe. Mi piacerebbe mostrarlo in una finestra del browser. Ma il passo ovvio,

somethingThatProducesHTMLonStdout | open -f -a "Safari"

non funziona: Safari visualizza il contenuto, ma come testo normale ; non rende l'HTML. So per certo che il mio contenuto HTML è un contenuto HTML valido. In effetti, è facile dimostrare questo problema con un caso di test banale:

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

fa la stessa cosa - mostra testo semplice, non renderizzato il contenuto. Non riesco a capire perché Safari insiste nel farlo. Qual è il segreto per renderlo HTML?

Nota: So che posso farlo funzionare salvando il contenuto in un file temporaneo e quindi aprendo il file temporaneo. Voglio farlo funzionare senza utilizzare un file temporaneo , se possibile.

    
posta mhucka 04.08.2017 - 22:15
fonte

1 risposta

2

Puoi usare qualcosa come

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

Ho inserito un codice HTML che contiene un punto esclamativo per mostrare che è necessario utilizzare virgolette singole per la shell, altrimenti interpreterà questo come richiamo cronologico. Sì, più a lungo e hai bisogno di un nome di file, ma puoi utilizzare lo strumento somethingThatProducesHTMLonStdout dalla tua domanda.

    
risposta data 11.08.2017 - 22:22
fonte

Leggi altre domande sui tag