Linux 中的管道

发布于 2024-10-19 19:06:53 字数 184 浏览 3 评论 0原文

我有一个名为 test 的文件,其中包含单词“hello”。

不应该

     echo test | cat 

输出你好吗?因为它采用 echo 测试(即 test)的输出作为 cat 的输入。所以基本上我在做猫测试。

但实际输出是测试,我真的很困惑。

i have a file called test which contains the word "hello" in it.

shouldn't

     echo test | cat 

output hello? since its taking the output from the echo test, which is test, as the input for cat. so essentially im doing cat test.

but the actual output is test, im really confused.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

坠似风落 2024-10-26 19:06:53

您的管道将 test 发送到 cat 作为输入,而不是作为参数。您可以这样做:

cat `echo test`

使用 echo 控制 cat参数

Your pipes sends test to cat as the input, not as the argument. You could do:

cat `echo test`

to control the argument to cat with echo.

一梦浮鱼 2024-10-26 19:06:53

echo 打印它的参数。 cat 打印默认标准输入的文件。当您使用管道时,echo 的标准输出连接到 cat 的标准输入。

正确的就是cat test

echo prints its arguments. cat prints a file which is by default standard input. When you pipe echo's standard output is connected to cat's standard input.

Correct is simply cat test.

最偏执的依靠 2024-10-26 19:06:53

来自cat --help

如果没有FILE或者FILE为-,则读取标准输入。

在您的情况下,cat从标准输入(即test)读取并输出。

From cat --help

If no FILE or when FILE is -, read standard input.

In your case, cat reads from stdin, which is test and outputs that.

笑饮青盏花 2024-10-26 19:06:53

在某些情况下,您可能希望参数通过管道传递。您将这样做:

echo test | xargs cat

这将输出名为“test”的文件的内容

In some cases you might want the argument to be passed through the pipe. This is how you would do that:

echo test | xargs cat

which will output the contents of the file named "test".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文