gpt4 book ai didi

bash - 将标准输出通过管道传输到另一个进程的文件描述符

转载 作者:行者123 更新时间:2023-12-02 20:15:12 24 4
gpt4 key购买 nike

到目前为止,这个一直在挫败我。我知道如何将我的标准输出重定向到同一进程中的另一个文件描述符。我知道如何将标准输出通过管道传输到另一个进程的标准输入。但是,如果我想将一个进程的标准输出通过管道传输到另一个进程中的文件描述符怎么办?具体来说,对于 while read 的情况...

  cat file | while read -u 9 line; do //some stuff; done

如何将 cat 的输出放到 while 循环的文件描述符 9 中?

最佳答案

管道专门与标准输入和输出(文件描述符 0 和 1)一起工作;他们不会推广到其他描述符。请改用进程替换和输入重定向。

while read -u 9 line; do
...
done 9< <(cat file)

当然,你不应该这样使用cat;只需使用常规输入重定向

while read -u 9 line; do
...
done 9< file

奖金,符合 POSIX 的答案:使用命名管道。

mkfifo p
cat file > p &
while read line <&9; do
...
done 9< p

关于bash - 将标准输出通过管道传输到另一个进程的文件描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52557207/

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