Io-Redirection
文件描述符和重定向
一些資源表明文件描述符
0
已連接到鍵盤。我了解到,
echo
不接收來自stdin
(或0
)的輸入。這讓我感覺很矛盾。當我執行時
echo foo
,我使用鍵盤作為將輸入傳遞給命令的一種方式。在什麼意義上stdin
連接到他們的鍵盤,使得這裡沒有矛盾?
首先,stdin 與鍵盤相關聯並不總是正確的。其次,您沒有使用 stdin 將任何內容傳遞給
echo
. 您正在使用鍵盤將字元串傳遞echo foo
給您的外殼。shell 解析該字元串並呼叫一個名為echo
(無論該命令是 shell 或執行檔的內置命令/usr/bin/echo
還是/bin/echo
無關的命令),該命令解析其參數,忽略其標準輸入,並寫出字元串foo\n