Eu encontrei um programa chamado bcat
escrito em ruby. Alguns exemplos podem ser acessados pelo link .
Uma pergunta anterior recebeu várias respostas agradáveis envolvendo stdin, nenhuma dos quais trabalho no Firefox 9.0.1 ( Editar : porque eu não li que você tinha que iniciar um novo processo do Firefox para fazê-los funcionar (obrigado @manatwork):
echo '<h1>hello, world</h1>' | firefox /dev/fd/0
resulta em uma nova guia com o URL file:///dev/null
e sem texto. cat | firefox /dev/fd/0
resulta em uma nova guia com o URL file:///dev/null
e sem texto. Depois de digitar uma única linha de texto e pressionar Enter , ela termina e ainda não mostra nada na nova guia. firefox <( echo '<h1>hello, world</h1>' )
abre uma nova guia com minha pasta de perfil, de todas as coisas. Existe alguma maneira de fazer isso funcionar no Firefox 9.0.1 ou mais recente?
Quanto ao motivo por trás, seria bom poder gerar marcações que só são armazenadas na memória (bloqueando a troca), e garantir que não haja sobras mesmo no caso de um corte de energia.
Seguindo a sugestão de @userunknown, caso seu /tmp
não seja um sistema de arquivos tmpfs
, você pode usar /dev/shm
ou criar seu próprio sistema de arquivos tmpfs
(ambos são mantidos na memória):
/mnt/tmp && mount -t tmpfs none /mnt/tmp
As to the reason behind, it would be nice to be able to generate markup which is only stored in memory (barring swapping), and guarantee that there is no left-overs even in case of a power cut.
Eu não sei para outros Unixes, mas no Linux, /tmp
é deletado em cada inicialização / desligamento. Então
echo "<html><head><title> FooTemp </title></head></html>" \
> /tmp/foo.html && firefox /tmp/foo.html && rm /tmp/foo.html
funciona bem para mim.
Mais conveniente talvez: exclua o arquivo imediatamente após abri-lo no Firefox, eu testei:
echo "<html><head><title> FooTemp </title></head></html>" > \
/tmp/f3.html && (firefox /tmp/f3.html & sleep 3 ; rm /tmp/f3.html)
Dê alguns segundos para processá-lo e exclua-o. Funciona como um encanto para mim. Não /tmp/f3.html para ser visto com ls /tmp/*html
após 3 segundos, mas visível no navegador.
O Firefox 9, e maior, suporta o esquema URI de dados . Qualquer HTML precisará de um prefixo data:text/html,
.
shell ~> firefox -new-tab 'data:text/html,<html><body><h1>Hello World</h1></body></html>'
Não é bem stdin, mas deve funcionar
shell ~> firefox -new-tab "data:text/html,"'cat myfile.txt'