我有两个二进制文件,一个(questions.bin)抛出诸如“1+3是什么?”这样的问题。到STDOUT并从STDIN获取答案;另一个answers.bin以上述格式接受STDIN中的问题,并将它们打印到STDOUT。
我希望能够把它们的输出传递给彼此,就像
./questions.bin | ./answers.bin | ./questions.bin有办法用管道吗?否则,你会怎样做呢?
发布于 2021-08-14 23:04:01
发布于 2021-08-15 09:23:59
在Linux上,您可以使用/dev/fd/x的属性,其中fd引用管道,其行为类似于命名管道:
: | (./questions.bin | ./answers.bin) > /dev/fd/0通过管道重定向特性,yash外壳具有与pipe()系统调用的原始接口:
(./questions.bin | ./answers.bin) >>|0它们避免创建命名管道(以及与保证独占创建、限制对它们的访问以及事后或在信号上进行清理有关的相关问题)。
https://unix.stackexchange.com/questions/664706
复制相似问题