[英]Unix shell descriptor redirection
如何翻译:
echo "test" | tee -a test1 test2
到纯UNIX描述符重定向解决方案(更好,更没有PIPES)。
可能吗?
如果您希望将一个字节写入一个文件描述符(管道,套接字等),以可读取的数据形式显示在多个文件描述符中,而这些文件描述符彼此之间不是dup()
(例如,它们对应于两个不同的常规文件) ,那么在通用Unix系统上是不可能的。 即使两个文件描述符都是dup()
,但从其中一个读取字节后,该字节也会从另一个字节中消失,因此无法读取两次。
如果要在不使用|
情况下在Bash中执行此操作 ,那么这是不可能的。
如果要在Zsh中执行此操作而不使用|
,然后只需遵循chepner的评论:做setopt multios
,然后echo test >>test1 >>test2
。 Zsh将在后台创建一个辅助进程,以进行与tee -a
等效的复制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.