繁体   English   中英

Unix Shell描述符重定向

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM