簡體   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