課程
/運(yùn)維&測試
/Linux
/ Linux達(dá)人養(yǎng)成計劃 I
rt
管道符前面的命令錯誤時,后面命令還會執(zhí)行嗎, 還是會直接報錯?
2015-09-01
源自: Linux達(dá)人養(yǎng)成計劃 I 9-6
正在回答
管道會將前面命令的標(biāo)準(zhǔn)輸入當(dāng)作后面命令的標(biāo)準(zhǔn)輸入。一般程序錯誤時是沒有標(biāo)準(zhǔn)輸出的,其錯誤信息會送到標(biāo)準(zhǔn)錯誤輸出。
通常shell會啟動前一個程序,并通過系統(tǒng)調(diào)用讀取它的輸出,再通過系統(tǒng)調(diào)用啟動后一個程序,通過管道向后一個程序的標(biāo)準(zhǔn)輸入進(jìn)行輸出。出錯時如何處理應(yīng)該是依照各shell實(shí)現(xiàn)而定。bash中是后續(xù)程序仍然執(zhí)行,但不會獲得任何輸入。
所以后一個程序會執(zhí)行,且你應(yīng)該能在屏幕上看到前一個程序的錯誤輸出。
另外,一般整個管道的返回狀態(tài)是最后一個命令的退出狀態(tài)。
五月_星空 提問者
onemoo 回復(fù) 五月_星空 提問者
五月_星空 提問者 回復(fù) onemoo
舉報
Linux入門視頻教程,以通俗易懂的語言帶你感受linux之美
1 回答安裝Nginx時,執(zhí)行make命令報錯
3 回答find 命令中的-exec命令報錯?
4 回答寫入命令報錯
3 回答運(yùn)行某些命令后信息太多直接翻頁了,如何看到前面的信息?(虛擬機(jī)內(nèi)運(yùn)行命令,非XShell)
2 回答關(guān)于命令行后面/輸入的問題?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-09-02
管道會將前面命令的標(biāo)準(zhǔn)輸入當(dāng)作后面命令的標(biāo)準(zhǔn)輸入。一般程序錯誤時是沒有標(biāo)準(zhǔn)輸出的,其錯誤信息會送到標(biāo)準(zhǔn)錯誤輸出。
通常shell會啟動前一個程序,并通過系統(tǒng)調(diào)用讀取它的輸出,再通過系統(tǒng)調(diào)用啟動后一個程序,通過管道向后一個程序的標(biāo)準(zhǔn)輸入進(jìn)行輸出。出錯時如何處理應(yīng)該是依照各shell實(shí)現(xiàn)而定。bash中是后續(xù)程序仍然執(zhí)行,但不會獲得任何輸入。
所以后一個程序會執(zhí)行,且你應(yīng)該能在屏幕上看到前一個程序的錯誤輸出。
另外,一般整個管道的返回狀態(tài)是最后一個命令的退出狀態(tài)。