Command-Line
為什麼“echo abcde | echo”沒有顯示結果?
我將一個 echo 命令通過管道傳輸到另一個
🌐 echo a b c d e f g h i | echo 🌐 echo $? 0
與我的直覺相反,沒有輸出,但是也沒有返回錯誤。我預計,
that echo a b c d | echo
這只是echo a b c d
. 但事實並非如此,為什麼這些論點在通過管道的過程中失去了?
這是由於
echo
沒有從標準輸入讀取。管道僅用於將標準輸出從一個命令發送到下一個命令的標準輸入。由於輸出 ef
echo a b c ...
沒有被 second 消耗echo
,因此它會失去並且管道沒有輸出,除了來自 second 的單個換行符echo
。由於上次
echo
成功輸出空行,退出狀態為零。