用 cat 进行简单的进程替换似乎挂起:
cat >( echo hello; )
永远不会结束。也试过:
cat >( echo hello; exit; )
从子进程手动关闭标准输出文件描述也不起作用:
cat >( echo hello; 1>&- )
cat >( echo hello; 1>&- exit; )
我尝试过使用 GNU bash,版本 4.4.23(1)-release,GNU bash,版本 4.1.2(2)-release 和 zsh 5.5.1 (x86_64-debian-linux-gnu)
有人可以解释为什么会这样吗?我真的很喜欢过程替换......
谢谢
编辑:如果 cat 要从 echo 中读取,则进程替换中的正确重定向是:
cat <( echo hello; )