示例:在终端命令中
xdpyinfo | grep 解析(这是我从一个答案中得到的),
|字符意味着
信息输出将被发送到 grep 程序输入,用于打印包含以下内容的行
解决字符串?我应该在哪里寻找这样的信息以避免用太简单的问题填满这个论坛?谢谢。
答案1
竖线|
通常被称为“管道”。它用于将一个命令通过管道传输到另一个命令中。也就是说,它将第一个命令的输出定向到第二个命令的输入中。所以你的解释很准确。
答案2
它被称为 a pipe
(或 a pipeline
),这意味着它前面的命令的输出作为它后面的命令的输入。
例子:
dmesg | tail
bash --version | tac
欢迎您尝试不使用管道的命令。
是的,你是对的:在这种情况下,命令xdpyinfo
显示信息,并将其解析为grep
。grep
过滤结果并仅显示resolution
其中包含的行。
更多信息pipe
:
答案3
您的解释是正确的。| 字符将第一个命令的输出通过管道传输到第二个命令的输入流中。这两个命令实际上是并行运行的,就像两个并发进程一样。这是“管道和过滤器范例”的例证(通过管道传输简单函数来构建复杂函数),这是 Unix 的标志。
有关这方面的更多信息,我建议您阅读一些关于 bash 或 shell 脚本的教程。网上有很多这样的教程。我敢打赌,Unix/GNU shell 的优雅和强大一定会让您大吃一惊。
答案4
该字符 |
有时被称为管道,用于连接一个命令的输出并将其输入到另一个命令中。
因此xdpyinfo | grep resolution
首先运行命令xdpyinfo
(显示有关 X 的信息的实用程序),而不显示任何输出。此命令的输出被输入到 grep(正则表达式解析器)中,以查找任何包含解析的条目。
您看到的只是您想要的信息,而不是命令的完整输出xdpyinfo
。