Linux 重定向管道

Linux 重定向管道

我正在测试一种向后间接引用,然后遇到了这个问题。我没有指定所需的行为,因为没有——我只是想了解结果——到(未命名的)管道的符号链接?再说几步,到底发生了什么?

pehlic@ely:~/src/bash/sandbox/bash$ ls -al >(cat)
l-wx------ 1 pehlic pehlic 64 Jan 13 23:39 /dev/fd/63 -> pipe:[26718]

答案1

这实际上并不是在执行ls -al并将其传递给cat,而是在执行进程替换cat并将其呈现为文件,ls -al然后在文件上执行列表。

stdin因此,进程替换会创建一个管道,连接“内部”程序的文件对象和文件,cat然后将文件提供给“外部”程序。然后,您ls对此执行操作,并看到它已提供“文件” /dev/fd/63

相关内容