如何使Firefox阅读标准输入?

凯夫
echo '<h1>hello, world</h1>' |  firefox
cat index.html | firefox

这些命令不起作用。
如果firefox可以读取stdin,我可以firefox通过管道将HTML发送到
是否可以firefox读取stdin?

詹德

简短的答案是,最好编写一个临时文件并打开它。使管道正常工作更加复杂,可能不会给您带来任何额外的优势。也就是说,这就是我所发现的。

如果您的firefox命令实际上是在启动Firefox而不是与已经在运行的Firefox实例通信,则可以执行以下操作:

echo '<h1>hello, world</h1>' | firefox /dev/fd/0

它告诉Firefox明确读取其标准输入,这是管道放置其数据的位置。但是,如果Firefox已经在运行,则该firefox命令会将名称传递给主Firefox进程,该进程将读取其自己的标准输入,这可能不会提供任何信息,并且肯定未连接到您的管道。

此外,当从管道中读取内容时,Firefox会大量缓冲内容,因此,如果要这样做的话,它不会在每次给它换行HTML时都更新页面。尝试关闭Firefox并运行:

cat | firefox /dev/fd/0

(注意,您实际上确实需要cat这里。)重复将一些长行粘贴到您的Shell窗口中,直到Firefox决定更新页面为止,您可以看到它需要多少数据。现在,通过Ctrl+D换行发送“文件结束”信号,并立即查看Firefox更新。但是,您再也无法添加任何数据。

所以最好的可能是:

echo '<h1>hello, world</h1>' >my_temporary_file; firefox my_temporary_file

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章