如何通过使用进程替换从命令行运行Chrome?

蓝代码

我正在使用以下命令未成功-

$ google-chrome <(grep "simple" SimpleDoc.txt)

如果我只做a grep,我得到-

$ grep "simple" SimpleDoc.txt
Very simple doc that contains plaintext. 

我还编写了一个python脚本,showFileContents.py用于测试流程替换,它可以正常工作-

#! /usr/bin/python

import sys

arg1 = sys.argv[1]
f = open(arg1)
line = f.readline()

while line:
    sys.stdout.write(line)
    line = f.readline()

f.close()

这是输出-

$ showFileContents.py <(grep "simple" SimpleDoc.txt)
Very simple doc that contains plaintext.

但是当我尝试对

$ google-chrome <(grep "simple" SimpleDoc.txt)

浏览器窗口未显示任何内容。使用Firefox时,出现错误消息,提示“ Firefox找不到文件”。

为什么会发生这种情况,我如何在chrome中使用流程替换?

吉勒斯“别再邪恶了”

运行时google-chrome,该过程将检测到存在打开的Chrome实例,并向其发送一条消息以打开文件。该消息包含文件名。Firefox的工作方式相同。从外壳启动的进程不是已经运行的浏览器进程。

<(…)构造通过创建匿名管道来工作。它以类似的名称传递给命令/dev/fd/42,表示“已在描述符42上打开的文件”。该文件只能由开始执行命令行的进程访问,而不能由已经运行的浏览器进程访问。

为了将数据传递给正在运行的浏览器进程,数据必须在文件中,并且两个进程都可以访问该文件。使用Firefox,您可以使用命名管道:

mkfifo f
grep "simple" SimpleDoc.txt >f &
firefox f
rm f

Chrome似乎无法从管道读取,因此您必须创建一个临时文件。您也可以在Firefox中执行此操作。

在zsh中,变体流程替代构造=()会创建一个临时文件。

google-chrome =(grep "simple" SimpleDoc.txt)

在bash中,您必须手动创建一个临时文件。

tmp=$(mktemp)
grep "simple" SimpleDoc.txt >$tmp
google-chrome "$tmp"
rm "$tmp"

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过命令行运行Chrome应用?

来自分类Dev

Powershell变量替换无法从命令行运行

来自分类Dev

python如何知道如何从命令行运行?

来自分类Dev

您如何从命令行运行测试?

来自分类Dev

如何从命令行运行SWI-Prolog?

来自分类Dev

如何从命令行运行Jmeter的特定线程

来自分类Dev

如何从命令行运行Django python文件

来自分类Dev

如何从命令行运行devtools :: test?

来自分类Dev

如何从命令行运行:pending测试?

来自分类Dev

如何从命令行运行python函数

来自分类Dev

如何从命令行运行VirtualBox VM?

来自分类Dev

如何从命令行运行kwin脚本?

来自分类Dev

如何从命令行运行程序?

来自分类Dev

如何从命令行运行Jmeter的特定线程

来自分类Dev

如何设置从命令行运行的gsutil

来自分类Dev

如何从命令行运行.c文件

来自分类Dev

如何从命令行运行cssnano

来自分类Dev

如何从命令行运行 appium 桌面

来自分类Dev

从命令行运行斐济?

来自分类Dev

从命令行运行Python

来自分类Dev

从命令行运行PHP

来自分类Dev

从命令行运行PHP

来自分类Dev

从命令行运行PackageMaker

来自分类Dev

如何使用MSTest从命令行运行SpecFlow方案?

来自分类Dev

如何使用Xcode 5从命令行运行xctest?

来自分类Dev

如何从命令行启动Chrome作为后台进程?

来自分类Dev

如何获取使用命令行运行的活动进程和线程的数量?

来自分类Dev

Java:从命令行运行时重定向内部进程输出

来自分类Dev

如何通过命令行运行php文件?