linux - 为什么 "head -n"在通过管道传输到两个 echo 命令后不起作用?

标签 linux bash

我运行了这个命令:

echo "a"; echo "b" | head -n1

并期望这个结果:

<p>a</p>

但是我得到了这个:

<p>a</p>
<p>b</p>

为什么我没有得到预期的结果?我的命令有错误吗?

最佳答案

您的陈述的评估顺序实际上是:

echo "a"; (echo "b" | head -n1)

因此,要覆盖,请使用:

(echo "a"; echo "b") | head -n1

就是这样...

关于linux - 为什么 "head -n"在通过管道传输到两个 echo 命令后不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53719492/

相关文章:

linux - 在 csv 列中嵌入逗号的匹配模式

c++ - Qt 文件调整大小在 Linux 中表现怪异

bash - 在 Bash 中从命令行读取 glob

bash - 在命令行将 BASH 参数传递给 gawk

bash - bash中的 "else if"和 "elif"有什么区别?

linux - 基于循环模式和行数的日志拆分

linux - 如何使 rpm 自动安装依赖项

python - 在 linux 中意外失败的命令

bash - 我如何以编程方式测试以查看github是否具有我的ssh key ?

python - 如何使用 sed -n 但在 Python 中从文本文件中提取一系列行?