gpt4 book ai didi

bash - 管道 |重定向 < > 优先级

转载 作者:行者123 更新时间:2023-11-29 08:44:19 27 4
gpt4 key购买 nike

我想说清楚什么时候管道 |还是重定向 < > 在命令中优先?

这是我的想法,但需要确认这是它的工作原理。

示例 1:

sort < names | head
The pipe runs first: names|head then it sorts what is returned from names|head

示例 2:

ls | sort > out.txt
This one seems straight forward by testing, ls|sort then redirects to out.txt

示例 3:

Fill in the blank?  Can you have both a < and a > with a | ???

最佳答案

在句法分组方面,><有更高的优先级;也就是说,这两个命令是等价的:

sort < names | head
( sort < names ) | head

这两个也是:

ls | sort > out.txt
ls | ( sort > out.txt )

但在顺序排序方面,|首先执行;所以,这个命令:

cat in.txt > out1.txt | cat > out2.txt

将填充 out1.txt , 不是 out2.txt ,因为 > out1.txt | 之后执行,因此取代它(因此没有输出通过管道输出到 cat > out2.txt)。

类似地,这个命令:

cat < in1.txt | cat < in2.txt

将打印 in2.txt , 不是 in1.txt ,因为 < in2.txt | 之后执行,因此取代它(所以没有输入从 cat < in1.txt 管道输入)。

关于bash - 管道 |重定向 < > 优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12942042/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com