在下文中,我已將echo 寫入 stderr;然后通過管道傳送到 cat,它的兩個輸出流都連接到 /dev/null。
$ echo something 1>&2 | cat 2>&1 >/dev/null
something
總而言之,什么都不應該列印。事實證明,仍然會列印一些東西!
有人可以解釋一下這里發生了什么嗎?泰。
uj5u.com熱心網友回復:
當您將輸出寫入 時stderr,它會顯示輸出。如果您將其寫入stdout,它將不會顯示輸出。這張來自維基百科關于管道的文章的圖片很好地解釋了它

有關更多資訊,請閱讀有關 Linux 中的管道的Wikipedia 文章。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/467896.html
