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